我创建了一个执行慢速异步任务的茉莉花记者,但是在记者的工作完成之前,量角器正在退出。如何让量角器等慢速记者完成?
在我的记者中,慢速任务由setTimeout
:
// SlowReporter.js
SlowReporter.prototype.reportRunnerResults = function() {
var p = q.defer();
setTimeout(function() {
console.log("Slow reporting op finished");
p.resolve();
}, 10000);
return p.promise;
};
但是,当我把它连接起来时,
// protractor.conf.js
onPrepare: function() {
jasmine.getEnv().addReporter(new SlowReporter());
}
..量角器在慢速任务完成之前退出。量角器似乎不尊重记者的承诺。
请注意我不是要问how to make protractor wait on an async test,而是在测试完成后如何让量角器等待茉莉花记者。
答案 0 :(得分:0)
通过在.completed()
中定义SlowReporter
方法来解决FFR,该方法返回在记者完成时解析的承诺;然后让protractor.spec.js
在onCleanUp()
中返回此承诺。仅适用于量角器> = 1.1.0。
向更好的答案/方法开放。