Как я могу проверить передачу ошибок без try-- catch - PullRequest
2 голосов
/ 29 апреля 2019

Я пишу код, который проверяет тексты. Вот как я это проверяю. Но я не хочу использовать try - catch в модульном тестировании. Пожалуйста, дайте мне лучший способ сделать это.

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');
      }
    });

1 Ответ

3 голосов
/ 29 апреля 2019

то, что вы ищете, выглядит примерно так should.throws почти все тестовые рамки поддерживают этот API

, например:

shouldjs

https://shouldjs.github.io/#should-throws

мокко

https://mochajs.org/#bdd

, а также

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 
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...