当前位置: 首页 > 知识库问答 >
问题:

量角器、茉莉和第一次失败时停止测试

督烨赫
2023-03-14

当试图弄清楚如何使某些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。然而,在我看来,使用内置功能是一个更好的解决方案。)

共有2个答案

萧英睿
2023-03-14

执行< 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.
  },
}
凌嘉勋
2023-03-14

从我在量角器jasmine-npm量角器使用的jasmine运行程序)源代码中看到的,并不是添加Stop SpecOnExectationFailureStop OnFailurejasmine节点选项到配置中那么简单。必须对量角器进行更改以支持新的Stop SpecOnExectationFailurejasmine节点选项。请在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。