Как добавить пользовательское сообщение об успехе в тестах Mocha? - PullRequest
0 голосов
/ 30 апреля 2019

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

Как добавить пользовательское сообщение об успехе, указывающее, что определенные данные, представляющие собой тестовый пример, были успешными?

Например, мой код выглядит так:

it('Should not allow saving bad data: ', async function () {
  let badData = TestDataProvider.allData.invalid;
  for (let i = 0; i < badData.length; i++) {
    let d = badData[i];
    let res = await request.post('/data').send(d);
    let object = null;
    try {
      object = JSON.parse(res.text);
    } catch (e) {
      object = {};
    }
    expect(res.statusCode).to.equal(206);
    expect(object).not.to.contain.a.property('_id');
    console.log('Verified case: ' + d.testDesc);
  }
});

Я хочу, чтобы сообщение "Verified case..." отображалось как успешные тестовые прогоны, а не сообщения консоли в отчетах.

Атрибут testDesc содержит описание теста, например: "Missing field a", "Invalid property b", "Missing field c".

1 Ответ

0 голосов
/ 30 апреля 2019

Я решил проблему создания динамических тестов:

const allData = JSON.parse(fs.readFileSync('data.json'), 'utf8'));
allData.invalid.forEach((badData) => {
  it('Should not allow saving with: ' + badData.testDesc, async () => {
    let res = await request.post('/data').send(badData);
    let d = null;
    try {
      d = JSON.parse(res.text);
    } catch (e) {
      d = {};
    }
    expect(res.statusCode).to.equal(206);
    expect(d).not.to.contain.a.property('_id');
  });
});
...