5. Qué es?
"behavior-driven development framework for
testing JavaScript code"
http://github.com/pivotal/jasmine
● sintaxis simple
● no depende de otros frameworks js ni de existencia de DOM
6. Ejemplo
function helloWorld(){
return 'Hello World!'
}
describe('HelloWorld', function(){
it('returns hello world message', function(){
expect(helloWorld()).toEqual('Hello World!')
});
});
10. Suite - Spec - Expectation
Una suite está compuesta por:
● al menos un bloque describe
● que contiene bloques it (specs)
● que contienen expectations
describe('HelloWorld', function(){
it('returns hello world message', function(){
expect(helloWorld()).toEqual('Hello World!')
});
});
23. Spies
● test doubles
● reportar que fueron invocados
● reportar cuantas veces fueron invocados
24. Spies
● test doubles
● reportar que fueron invocados
● reportar cuantas veces fueron invocados
● reportar con qué parámetros fueron invocados
25. Spies
● test doubles
● reportar que fueron invocados
● reportar cuantas veces fueron invocados
● reportar con qué parámetros fueron invocados
● si se quiere, invocar al método que están reemplazando
29. Spies - Comportamiento
Los spies pueden configurarse para responder de diferentes
maneras cuando son invocados:
30. Spies - Comportamiento
// spies on AND calls the original function spied on
spyOn(x, 'method').andCallThrough()
Los spies pueden configurarse para responder de diferentes
maneras cuando son invocados:
31. Spies - Comportamiento
// spies on AND calls the original function spied on
spyOn(x, 'method').andCallThrough()
// returns passed arguments when spy is called
spyOn(x, 'method').andReturn(arguments)
Los spies pueden configurarse para responder de diferentes
maneras cuando son invocados:
32. Spies - Comportamiento
// spies on AND calls the original function spied on
spyOn(x, 'method').andCallThrough()
// returns passed arguments when spy is called
spyOn(x, 'method').andReturn(arguments)
// throws passed exception when spy is called
spyOn(x, 'method').andThrow(exception)
Los spies pueden configurarse para responder de diferentes
maneras cuando son invocados:
33. Spies - Comportamiento
// spies on AND calls the original function spied on
spyOn(x, 'method').andCallThrough()
// returns passed arguments when spy is called
spyOn(x, 'method').andReturn(arguments)
// throws passed exception when spy is called
spyOn(x, 'method').andThrow(exception)
// calls passed function when spy is called
spyOn(x, 'method').andCallFake(function)
Los spies pueden configurarse para responder de diferentes
maneras cuando son invocados:
34. Spies - Matchers y propiedades
expect(x.method).toHaveBeenCalled()
expect(x.method).toHaveBeenCalledWith(args)
matchers