Как поймать ошибку вставки базы данных (время выполнения) в машинописный текст и написать подходящий тестовый пример в chai? - PullRequest
0 голосов
/ 20 июня 2020

Это мой блок try:

try {
    User.create({
            firstName: "Mahesh",
            lastName: "Das"
   });
}

Здесь мне нужно поймать ошибку вставки (времени выполнения) БД. Я использую postgres как базу данных и Sequelize для выполнения операций. Мне также нужно написать тестовый пример с использованием chai. Заранее спасибо.

1 Ответ

0 голосов
/ 28 июня 2020

В отличие от других языков, таких как Java, в JavaScript мы можем поймать только общую ошибку, а затем проверить эту ошибку и обработать ее соответствующим образом.

try {
  ... some code ...
}
catch (err) {
  if (err instanceof SyntaxError) {
    ... handle SyntaxError ...
  }
  else if (err instanceof TypeError) {
    ... handle TypeError ...
  }
  else {
    ... catch everything else ...
  }
}

Поскольку вы не предоставили пример ошибки вы пытаетесь уловить, я не могу сделать свой пример более конкретным c для вашего случая, но описанный выше подход должен работать для вас.

Ваш тест, поскольку вы обнаруживаете ошибку, будет зависеть от что происходит в соответствующем блоке catch.

...