在jasmine reporter完成之前防止量角器退出
我创建了一个jasmine reporter,它执行一个缓慢的异步任务,但在reporter的工作完成之前,量角器已经退出。如何使量角器等慢记者完成 在我的reporter中,慢速任务由在jasmine reporter完成之前防止量角器退出,jasmine,protractor,Jasmine,Protractor,我创建了一个jasmine reporter,它执行一个缓慢的异步任务,但在reporter的工作完成之前,量角器已经退出。如何使量角器等慢记者完成 在我的reporter中,慢速任务由setTimeout模拟: // SlowReporter.js SlowReporter.prototype.reportRunnerResults = function() { var p = q.defer(); setTimeout(function() { console
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());
}
…量角器在慢速任务完成之前退出。“量角器”似乎不尊重记者的承诺
请注意,我不是在问,而是在测试完成后如何让量角器等待jasmine reporter。FFR通过在
SlowReporter
中定义.completed()
方法来解决,该方法返回一个在报告器完成时解决的承诺;然后让dragrator.spec.js
在onCleanUp()
中返回此承诺。仅适用于大于等于1.1.0的量角器
有更好的答案/方法。它是否会给出规范超时错误?如果是,那么您可以在config.js中使用jasmineNodeOpts:{defaultTimeoutInterval:20000}。如果您仍然有代码,您可以共享此解决方案吗?我想试试。@Corey,对不起,我不想。