【发布时间】:2017-12-06 12:58:46
【问题描述】:
我使用 nightwatch 进行集成测试。一些 UI 自动化,效果很好。最后,我想使用 Rest API 检查 UI 操作的结果是否正确。我尝试在那里使用 chai,因为 chai 内置在守夜人中。开箱即用的 nightwatch 只支持 expect.element('#element')...,但我需要 expect(true).to.be.true 样式。
这是我的测试文件的(部分):
const { expect } = require('chai');
module.exports = {
'Add Rules (Tester 1)' : browser => {
... some tests
}
after: browser => {
let username = 'username';
let password = 'xxxxxxxx';
fetchRulesFromJira({ browser, username, password }).then(rules => {
expect(rules.length).to.equal(2);
browser.end();
});
}
};
如果期望失败,则输出为
(node:3594) UnhandledPromiseRejectionWarning: 未处理的承诺 拒绝(拒绝 id:1):AssertionError:预期 3 等于 2
在某种程度上有用但不是很好。如果测试成功则没有输出。
如何让 nightwatch.js 打印结果,或以任何其他方式获得更标准的测试结果输出?
【问题讨论】:
-
你应该返回承诺:
return fetchRulesFromJira({ browser, username, password }).then(....); -
不幸的是,它没有这样做。
标签: chai nightwatch.js