Пользовательские конкретные сообщения об ошибках для неудачных тестов с Chai + Mocha? - PullRequest
1 голос
/ 11 июня 2019

Я пишу модульный тест для функции и проверяю ее по нескольким десяткам фрагментов тестовых данных.Если функция не работает с одним из тестовых случаев, мне бы хотелось, чтобы она отображала конкретный фрагмент данных, в котором произошла ошибка функции.

В моем случае у меня есть около ста функций в бэкэнде.написание тестов, и для каждого я пишу несколько случаев Chai.js assert(), которые проверяют множество фрагментов тестовых данных.Я не хочу, чтобы он распечатывал отдельные тесты одной и той же функции на десятках фрагментов данных, поскольку я хотел бы, чтобы журнал читался при выполнении тестов по всему бэкэнду.

Вот мойтекущий способ написания тестов:

context('relative urls should be removed', function () {
  it('data should initially contain relative urls', async function () {
    assert(testHTML.every(containsRelativeURLs));
  });
  // (run testHTML through my function here)
  it('data should end with no relative urls', async function () {
    assert(!testHTML.every(containsRelativeURLs));
  })
});

Пожалуйста, дайте мне знать, если я неправильно понимаю правильный способ написания модульных тестов.Если есть более чистый или более стандартный способ сделать это, я хотел бы знать.

1 Ответ

0 голосов
/ 11 июня 2019

assert может принимать два параметра - первый - ваше утверждение, второй - сообщение. Вы можете использовать сообщение param для регистрации информации.

describe('it passes all the tests /', ()=>{
    testData.forEach(testAsync =>
      it('should pass this test', async (done) => 
        const result = await testAsync
        assert(result === expectedResult, "bad ${result} returned by testAsync")
        done()
    )
})
...