Tengo un igualador de costumbre en algunas especificaciones de prueba jazmín de la forma:¿Hay alguna forma de utilizar los mezcladores predeterminados de Jasmine en los mezcladores personalizados?
this.addMatchers({
checkContains: function(elem){
var found = false;
$.each(this.actual, function(actualItem){
// Check if these objects contain the same properties.
found = found || actualItem.thing == elem;
});
return found;
}
});
Por supuesto, en realidad no actualItem.thing == elem
comparar al contenido- tengo que utilizar una de las soluciones más complejas en Object comparison in JavaScript.
No puedo dejar de notar, sin embargo, que Jasmine ya tiene un buen inspector de igualdad de objetos: expect(x).toEqual(y). ¿Hay alguna forma de usar eso dentro de un marcador personalizado? ¿Hay alguna forma general de usar los mezcladores dentro de los mezcladores personalizados?
¡Impresionante, gracias! Este puede ser un caso en el que la solución que estaba buscando (la que dio) es peor que el problema que estaba tratando de evitar (mi propio comprobador de igualdad de objetos). Sin embargo, es genial, sin embargo. – Fishtoaster
Si desea utilizar un marcador personalizado A dentro de otro marcador personalizado B, puede agregar la lógica de su marcador A al jasmin.Env.prototype y luego invocar ese registro desde su marcador B utilizando jasmine.getEnv () .myMatcherFn(). –