Mocha 和 NightmareJS-继续测试
Mocha and NightmareJS- continue test
我 运行 遇到了一个简单的问题,我有大约 5 个测试是一组的一部分,其中一个我强迫它们失败但我无法退出失败状态:
.goto(url)
.wait('#element')
.evaluate(fnc...)
wait('#newelement')
....
evaluate(function(){
return document.querySlector('#myid').innerText
})
.then(function(result) {
result.should.equal('1');// I know I am expecting 2
done();
})
// will never be executed.
.then.....
// 抛出以下消息。
错误:超时超过 15000 毫秒。确保在此测试中调用了 done() 回调。
没关系,但是在这个失败后我还需要进行其他测试,但我似乎无法继续或无法以优雅的方式报告失败而不影响其余部分。
如果您想强制测试失败,您可以调用 done
将错误作为参数传递:
done(new Error('this is my error message'))
所以在你的情况下,是这样的:
.goto(url)
.wait('#element')
.evaluate(fnc...)
wait('#newelement')
....
evaluate(function(){
return document.querySlector('#myid').innerText
})
.then(function(result) {
done(new Error('Please test, fail because I want you to.'));
})
// will never be executed.
.then.....
此外,作为旁注,您的原始代码可能无法正常工作,因为在同一个链调用中多次调用 evaluate
,请参阅 答案了解更多详情。
我 运行 遇到了一个简单的问题,我有大约 5 个测试是一组的一部分,其中一个我强迫它们失败但我无法退出失败状态:
.goto(url)
.wait('#element')
.evaluate(fnc...)
wait('#newelement')
....
evaluate(function(){
return document.querySlector('#myid').innerText
})
.then(function(result) {
result.should.equal('1');// I know I am expecting 2
done();
})
// will never be executed.
.then.....
// 抛出以下消息。 错误:超时超过 15000 毫秒。确保在此测试中调用了 done() 回调。
没关系,但是在这个失败后我还需要进行其他测试,但我似乎无法继续或无法以优雅的方式报告失败而不影响其余部分。
如果您想强制测试失败,您可以调用 done
将错误作为参数传递:
done(new Error('this is my error message'))
所以在你的情况下,是这样的:
.goto(url)
.wait('#element')
.evaluate(fnc...)
wait('#newelement')
....
evaluate(function(){
return document.querySlector('#myid').innerText
})
.then(function(result) {
done(new Error('Please test, fail because I want you to.'));
})
// will never be executed.
.then.....
此外,作为旁注,您的原始代码可能无法正常工作,因为在同一个链调用中多次调用 evaluate
,请参阅