I have such a function to test:
export const checkTextEmpty = stringArg => {
if (typeof stringArg !== 'string') {
throw new Error('Provide a string argument to checkTextEmpty function')
}
return stringArg.length === 0 || stringArg.trim() === ''
}
and I want to test if it throws errors properly:
it(
'should throw an error if passed argument is not a string',
() => {
const notStrings = [null, 4, [], {}, undefined, -5]
notStrings.forEach(elem => {
expect(checkTextEmpty(elem)).toThrow(Error)
})
}
)
And this is a result in my terminal:
utils.js › checkTextEmpty util › should throw an error if passed argument is not a string
Provide a string argument to checkTextEmpty function
117 | export const checkTextEmpty = stringArg => {
118 | if (typeof stringArg !== 'string') {
> 119 | throw new Error('Provide a string argument to checkTextEmpty function')
| ^
120 | }
121 |
122 | return stringArg.length === 0 || stringArg.trim() === ''
at checkTextEmpty (src/scripts/utils/utils.js:119:11)
at forEach (src/scripts/utils/utils.test.js:11:18)
at Array.forEach (<anonymous>)
at Object.it (src/scripts/utils/utils.test.js:10:20)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 2 passed, 3 total
Snapshots: 0 total
Time: 3.918 s
How can I fix my test to make it work properly?
Aucun commentaire:
Enregistrer un commentaire