unitarios unitarias tutorial test pruebas node framework espaƱol javascript coffeescript mocha chai

javascript - tutorial - pruebas unitarias node js



Probando excepciones JS con Mocha/Chai (2)

O bien pasar la función :

chai.expect(manager.test).to.throw(''Oh no'');

O use una función anónima :

chai.expect(() => manager.test()).to.throw(''Oh no'');

Consulte la documentación sobre el método de throw para obtener más información.

Esta pregunta ya tiene una respuesta aquí:

Intento probar un código que arroja una excepción con Mocha / Chai, pero no teniendo suerte, aquí está el código simple que trato de probar:

class window.VisualizationsManager test: -> throw(new Error ''Oh no'')

Aquí está mi prueba:

describe ''VisualizationsManager'', -> it ''does not permit the construction of new instances'', -> manager = new window.VisualizationsManager chai.expect(manager.test()).to.throw(''Oh no'')

Sin embargo, cuando ejecuto la especificación, la prueba falla y lanza la excepción.

Failure/Error: Oh no

¿Qué estoy haciendo mal aquí?


Probablemente se deba a que está ejecutando la función de inmediato, por lo que el marco de prueba no puede manejar el error.

Intenta algo como:

chai.expect(manager.test.bind(manager)).to.throw(''Oh no'')

Si sabe que no está utilizando this palabra clave dentro de la función, supongo que también podría aprobar manager.test sin vincularla.

Además, el nombre de la prueba no refleja lo que hace el código. Si no permite la construcción de nuevas instancias, manager = new window.VisualizationsManager debería fallar.