Sometimes, we want to verify that an exception is thrown using Mocha and Chai and async and await.
In this article, we’ll look at how to verify that an exception is thrown using Mocha and Chai and async and await.
How to verify that an exception is thrown using Mocha and Chai and async and await?
To verify that an exception is thrown using Mocha and Chai and async and await, we can use the chai-as-promised package.
We install it by running
npm i chai-as-promised
Then we can use it by writing
const chai = require('chai')
const {
expect
} = chai
chai.use(require('chai-as-promised'))
const wins = async () => {
return 'Winner'
}
const fails = async () => {
throw new Error('Contrived Error')
}
it('wins() returns Winner', async () => {
expect(await wins()).to.equal('Winner')
})
it('fails() throws Error', async () => {
await expect(fails()).to.be.rejectedWith(Error)
})
We add the chai-as-promised plugin with
chai.use(require('chai-as-promised'))
Then we test the wins and fails async functions by calling it with an async function.
And we get the resolved value of wins with await and use equal to check it resolve value.
And we test for rejected promise from the fails function by call fails and then use rejectedWith with awit to check the error thrown.
Conclusion
To verify that an exception is thrown using Mocha and Chai and async and await, we can use the chai-as-promised package.