angularjs - ngstyle - ¿Cuál es la diferencia entre creapy y creapyobj?
ngstyle angular 5 (1)
He utilizado en mi código como.
return $provide.decorator(''aservice'', function($delegate) {
$delegate.addFn = jasmine.createSpy().andReturn(true);
return $delegate;
});
¿En qué lo hace createSpy? ¿Puedo cambiar las llamadas de createSpy a callspypyj?
Al usar createSpy, podemos crear una función / método de simulacros. Createspyobj puede hacer simulacros de múltiples funciones. Estoy en lo cierto?
Cuál sería la diferencia.
jasmine.createSpy
puede usarse cuando no hay una función para espiar. spyOn
llamadas y argumentos como un spyOn
pero no hay implementación.
jasmine.createSpyObj
se usa para crear un simulacro que espiará uno o más métodos. Devuelve un objeto que tiene una propiedad para cada cadena que es un espía.
Si desea crear un simulacro, debe usar jasmine.createSpyObj
. Echa un vistazo a los ejemplos a continuación.
De la documentación de Jasmine http://jasmine.github.io/2.0/introduction.html ...
createSpy:
describe("A spy, when created manually", function() {
var whatAmI;
beforeEach(function() {
whatAmI = jasmine.createSpy(''whatAmI'');
whatAmI("I", "am", "a", "spy");
});
it("is named, which helps in error reporting", function() {
expect(whatAmI.and.identity()).toEqual(''whatAmI'');
});
it("tracks that the spy was called", function() {
expect(whatAmI).toHaveBeenCalled();
});
it("tracks its number of calls", function() {
expect(whatAmI.calls.count()).toEqual(1);
});
it("tracks all the arguments of its calls", function() {
expect(whatAmI).toHaveBeenCalledWith("I", "am", "a", "spy");
});
it("allows access to the most recent call", function() {
expect(whatAmI.calls.mostRecent().args[0]).toEqual("I");
});
});
createSpyObj:
describe("Multiple spies, when created manually", function() {
var tape;
beforeEach(function() {
tape = jasmine.createSpyObj(''tape'', [''play'', ''pause'', ''stop'', ''rewind'']);
tape.play();
tape.pause();
tape.rewind(0);
});
it("creates spies for each requested function", function() {
expect(tape.play).toBeDefined();
expect(tape.pause).toBeDefined();
expect(tape.stop).toBeDefined();
expect(tape.rewind).toBeDefined();
});
it("tracks that the spies were called", function() {
expect(tape.play).toHaveBeenCalled();
expect(tape.pause).toHaveBeenCalled();
expect(tape.rewind).toHaveBeenCalled();
expect(tape.stop).not.toHaveBeenCalled();
});
it("tracks all the arguments of its calls", function() {
expect(tape.rewind).toHaveBeenCalledWith(0);
});
});