当试图弄清楚如何使某些jasmine期望语句依赖于先前的期望语句时,我发现在Jasmine 2.3.0之前,没有办法。(请参阅第一次期望失败后停止jasmine测试)但是,Jasmine 2.3.0添加了一个选项Stop SpecOnExectationFailure
,当设置为true时将停止对第一次失败的测试。
对这个前景感到兴奋,我修改了我的conf.js以包括以下选项:
/*
* conf.js
*/
exports.config = {
framework: 'jasmine',
specs: ['search-spec.js'],
useAllAngular2AppRoots: true,
jasmineNodeOpts: {
stopSpecOnExpectationFailure: true
}
};
但是这对我不起作用。
在我的测试中,我有:
/**
* Test option from select element is selected
*/
function verifyOptionSelected(option) {
var myEl = $('select[value="' + option + '"]';
expect(myEl.isPresent()).toBe(true, 'Option, ' + option + ', is not a value in the dropdown list. (It might be the text.)');
expect(myEl.isSelected()).toBe(true, 'Option, ' + option + ', is not selected as expected.');
}
在上面的代码中,将尝试两个期望语句,但如果第一个失败,我不需要尝试第二个。
你们中有谁知道贾斯敏是怎么想的吗?
(是的,我知道jasmine-bail-fast和量角器-fail-fast。然而,在我看来,使用内置功能是一个更好的解决方案。)
执行< code>npm安装量角器-快速失效
然后在protractor.conf.js
const failFast = require('protractor-fail-fast');
...
exports.config = {
plugins: [
failFast.init(),
],
afterLaunch: function () {
failFast.clean(); // Removes the fail file once all test runners have completed.
},
}
从我在量角器
和jasmine-npm
(量角器
使用的jasmine运行程序)源代码中看到的,并不是添加Stop SpecOnExectationFailure
或Stop OnFailure
jasmine节点选项到配置中那么简单。必须对量角器
进行更改以支持新的Stop SpecOnExectationFailure
jasmine节点选项。请在Protractor
问题跟踪器中创建问题/功能请求。
我还尝试调用<code>throwOnExpectationFailure
我熟悉python单元测试测试,如果断言失败,该测试将被标记为“失败”,并继续进行其他测试。另一方面,茉莉花将继续通过所有期望,即使其中一个失败。在第一个预期失败后,如何使Jasmine停止处理测试? 我想错了吗?我有一些测试有很多< code>expect,当只有第一个错误时,显示所有的堆栈跟踪似乎是一种浪费。
问题内容: 我正在尝试测试响应拦截器,但是很难弄清楚如何模拟$ window对象。这是我的拦截器代码: 这是我的规格: 我有一个:。关于如何正确模拟$ window对象或更一般地说如何测试401 +重定向情况的任何帮助? 问题答案: 您应该使用最新的语法来构造拦截器定义。您的URL构造也应包含在服务中,以便可以在测试中轻松模拟它。 这样做可以让您像其他任何工厂一样对其进行测试,而不必担心拦截器的内
问题内容: 如何在angularjs量角器茉莉花测试中查看console.log输出?截至目前,浏览器自身关闭速度过快。 更多信息-我正在使用angularjs教程,步骤8。我试图将e2e测试更改为量角器。我正在使用的量角器配置文件基于%appdata%\ npm \ node_modules \ protractor \ referenceConf.js。在配置文件引用的js规范文件中,我有co
问题内容: 当我尝试使用 $ httpBackend.flush();时 我收到错误 TypeError:$ browser.cookies不是一个函数。 我找不到有关这种错误和解决方案的任何信息。 角度:1.3.15 茉莉花:2.3.4 问题答案: 我相信您在版本中使用的是角度模拟,而您的代码使用的是angular 。请检查您是否在为应用程序中实现的版本使用模拟程序。同样,提供您的茉莉花测试配置
问题内容: 我通常的测试用例看起来像 而且Jasmine 2.0异步测试应该看起来像 如何在一次测试中同时使用完成和注入? 问题答案: 这应该起作用;我更新到Jasmine 2.0时遇到了同样的问题
我想为我使用protractor-jsamine框架构建的测试集成serenity报告。所做的所有探索只显示了serenity与量角器-Cucmber框架集成的结果。下面是我的配置文件示例。我应该添加什么来与宁静报告集成。目前我正在使用jasmine Reporter。