¿Hay un análogo de Spyon en Qunit?
-
28-10-2019 - |
Pregunta
Estoy escribiendo especificaciones para diferentes casos de prueba para Jasmine y Qunit para compararlas y se veían igual antes de que tuviera que escribir una prueba para verificar si un evento está vinculado a un elemento.
La encuadernación de eventos se parece
$('.page').live('click', function() { page_clicked( $(this) ) });
page_clicked
es un método privado, pero requiere un método público de otro módulo.
Aquí hay una especificación de Jasmine:
it('should bind events to pages', function() {
spyOn( search, 'get_results' );
$('.page:eq(0)').trigger('click');
expect( search.get_results ).toHaveBeenCalled();
});
Esta prueba funciona. Ahora estoy tratando de escribir la misma prueba para Qunit y no puedo encontrar nada similar a Spyon. ¿Cómo escribir esta prueba para QUNIT?
Solución
Su causa Qunit no tiene espías ni simulacros. Pero puedes usar el Sinon.js Marco de burla. Su prueba debe verse así usando espía sinón:
var spy = sinon.spy(search, 'get_results');
sinon.assert.calledOnce(spy);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow