Reputation: 289
I am writing code that validates texts. This is how I test it. But I don't want to use try--catch in unit testing. Please give me a better way to do it.
it('Testing if hook errors on invalid description.', async () => {
try {
workRequest.requestor = 'John';
workRequest.description = 1;
result = await app.service('dummy').create(workRequest);
} catch (error) {
assert.equal(error.errors.description, 'Description is must be a string');
}
});
Upvotes: 2
Views: 82
Reputation: 5699
what you looking for is somthing like this should.throws almost all tests framework supports this API
for example :
shouldjs
https://shouldjs.github.io/#should-throws
mocha
and also
https://nodejs.org/api/assert.html#assert_assert_throws_fn_error_message
it('Testing if hook errors on invalid description.', async () => {
assert.throws( () => {
workRequest.requestor = 'John';
workRequest.description = 1;
result = await app.service('dummy').create(workRequest);
},
err
);
Upvotes: 3