How To Test For Thrown Error With Chai.should
I'm using Chai.should and I need to test for an exception, but whatever I try, I cannot get it to work. The docs only explain expect :( I have this Singleton class which throws an
Solution 1:
I know this is an answered question, but i'd still like to throw in my two cents.
There is a section in the style guide for this, namely: http://chaijs.com/guide/styles/#should-extras. So what does this look like in practice:
should.Throw(() =>newMySingleton(), Error);
It's not all that different from the accepted answer, i find it a bit more readable though, and more in line with their guideline.
Solution 2:
The Problem here is that you are executing the function directly, effectively preventing chai from being able to wrap a try{} catch(){}
block around it.
The error is thrown before the call even reaches the should
-Property.
Try it like this:
it('should not be possible to create a new instance', () => {
(function () {
newMySingleton();
}).should.throw(Error, /Cannot construct singleton/);
});
or this:
MySingleton.should.throw(Error('Cannot construct singleton');
This lets Chai handle the function call for you.
Post a Comment for "How To Test For Thrown Error With Chai.should"