我最近安装了jasmine-spec-reporter
软件包,以便在执行测试套件期间生成更详细,更有帮助的日志记录。
我希望能够为失败的测试用例记录expected
和actual
值,并且想知道我是否需要以expect(someCondition).toEqual(true);
的形式明确地为我提供一个声明看到这些价值观。
例如,我有如下函数:
it('should log in', function(done) {
var customerNameElement;
customerNameElement = element.all(by.xpath('some_xpath')).first();
core.infoMessage(browser, JSON.stringify(params, undefined, 4));
login.login(browser, undefined, undefined, getWaitTime())
.then(function() {
return browser.wait(protractor.ExpectedConditions.and(
function() { return core.isUnobscured(browser, customerNameElement);
}, protractor.ExpectedConditions.elementToBeClickable(customerNameElement)), getWaitTime());
})
.catch(fail)
.then(done);
});
我仍然可以将故障记录到控制台,但不能以我想要的形式记录。 jasmine-spec-reporter
是否处理此问题,或者我是否必须在每个测试用例中添加上面的语句?
此外,fail
中的.catch()
关键字是否具有我可以使用的任何属性?它来自:
// Jasmine 2.5.2的类型定义//项目:http://jasmine.github.io/
由于
答案 0 :(得分:0)
您可以尝试在protractor_config文件中添加以下内容:
让SpecReporter = require('jasmine-spec-reporter')。SpecReporter;
exports.config = { //你的配置在这里......
onPrepare:function(){
jasmine.getEnv()。addReporter(new SpecReporter({
规范:{
displayStacktrace:true
}
}));
}
}
另外,在jasmineNodeOpts
部分添加打印功能
jasmineNodeOpts:{
...
print:function(){}
}