mocha.js - 如何在 Mocha 测试中添加自定义成功消息?
问题描述
我在一个测试用例中有一个循环,我对每个数据样本重复部分测试。
如何添加自定义成功消息,指示代表测试用例的特定数据是否成功?
例如,我的代码是这样的:
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"
。
解决方案
我解决了创建动态测试的问题:
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');
});
});
推荐阅读
- python - 通过 Python 中的 for 循环附加到数据框中的列表,为什么要附加到每一行?
- gensim - LDA 主题中每个关键字前面的数字是什么意思?
- javascript - 删除 ng-repeat Angular 中单选按钮的自动选择
- angular - FCM 消息传递问题
- plc - 在每个 PLC 循环中存储变量值
- html - 在 Angular Web 应用程序上加载 json lottie 动画在 Android 设备上非常慢,但在 iPhone 上非常流畅
- python - 获取错误将错误的 SQL 语句打印到标准输出 python
- python - 从 pyspark 连接到 SQL Server 时出错
- html - 将一个输入字段点击到另一个输入字段时,屏幕键盘上的 Windows 不会弹出
- ios - UITableView:如何知道 TableView 的所有具有动态单元格高度的单元格何时被调整大小?