Trying to test some code that throws an exception with Mocha/Chai, but having no luck, here's the simple code I'm trying to test:
class window.VisualizationsManager
test: ->
throw(new Error 'Oh no')
Here is my test:
describe 'VisualizationsManager', ->
it 'does not permit the construction of new instances', ->
manager = new window.VisualizationsManager
chai.expect(manager.test()).to.throw('Oh no')
However, when I run the spec, the test fails and throws the exception.
Failure/Error: Oh no
what am I doing wrong here?
It's probably because you are executing the function right away, so the test framework cannot handle the error.
Try something like:
chai.expect(manager.test.bind(manager)).to.throw('Oh no')
If you know that you aren't using the this
keyword inside the function I guess you could also just pass manager.test
without binding it.
Also, your test name doesn't reflect what the code does. If it doesn't permet the construction of new instances, manager = new window.VisualizationsManager
should fail.