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

第一次预期失败后停止茉莉花测试

支华池
2023-03-14

我熟悉python单元测试测试,如果断言失败,该测试将被标记为“失败”,并继续进行其他测试。另一方面,茉莉花将继续通过所有期望,即使其中一个失败。在第一个预期失败后,如何使Jasmine停止处理测试?

it ("shouldn't need to test other expects if the first fails", function() {
    expect(array.length).toBe(1);

    // don't need to check this if the first failed.
    expect(array[0]).toBe("foo");
});

我想错了吗?我有一些测试有很多< code>expect,当只有第一个错误时,显示所有的堆栈跟踪似乎是一种浪费。

共有3个答案

蒋星驰
2023-03-14

Jasmine有故障停止功能,你可以在这里查看:https://plnkr.co/plunk/Ko5m6MQz9VUPMMrC

这将使用oneFailurePerSpec属性启动jasmine。

左丘善
2023-03-14

Jasmine不支持单一规范中的早期失败。这个想法是给你所有的失败,以防帮助你找出你的规范中真正的错误。

何灿
2023-03-14

@Gregg的答案对当时最新版本的Jasmine(v2.0.0)是正确的。

然而,从那时起,在v2.3.0中添加了此新功能:

允许用户在期望失败时停止规范执行(修复#577)

通过将<code>throwFailures=true

http://localhost:8000/?throwFailures=true
 类似资料:
  • 当试图弄清楚如何使某些jasmine期望语句依赖于先前的期望语句时,我发现在Jasmine 2.3.0之前,没有办法。(请参阅第一次期望失败后停止jasmine测试)但是,Jasmine 2.3.0添加了一个选项,当设置为true时将停止对第一次失败的测试。 对这个前景感到兴奋,我修改了我的conf.js以包括以下选项: 但是这对我不起作用。 在我的测试中,我有: 在上面的代码中,将尝试两个期望语

  • 我正在使用jasmine 2.0。 我试图理解函数。 使用以下基本茉莉花代码: 我认为我看到的发生: 运行,安装时钟,记录安装 测试运行时,setTimeout不执行任何操作 测试等待5秒(Jasmine失败前的默认超时) 测试失败,因为从未调用。 我知道这一点,因为我得到了错误:超时-异步回调没有在jasmine指定的超时内调用。DEFAULT_TIMEOUT_INTERVAL。 然后运行,卸载

  • 我有这个错误的麻烦。我想我忘记了一些东西,无法弄清楚是什么。任务很简单:只需测试我的简单组件。在这里,我们去: 和测试: 和HTML: 这个错误: 需要undefined等于['big','primary theme color']。错误:需要undefined等于['big','primary theme color']。位于UserContext。(http://localhost:9876/

  • 我使用文件在 Webstorm 8.0.4 中设置了茉莉花集成 这与语法突出显示的工作方式一样,我可以跳转到声明,文档显示正确。所以连接看起来很好。然而,JSHint仍然为每个关键字抱怨它没有被定义,例如 另请参见以下屏幕截图。正如您所看到的,语法突出显示很好,但我仍然收到一个错误。

  • 我正试图写一个Jasmine测试来覆盖一个Twitter Boostrap模态对话框。当调试器行被注释掉时,测试失败。当调试器暂停处理并且我继续时,它通过。我认为引导模式的转换导致了这个问题,因为在我进行expect调用时,模式对话框还不在DOM中。 如何在测试期间禁用转换? 谢谢 感谢Jarred,您的解决方案非常有效!这是我的工作测试:

  • 当战争部署失败时,我想阻止Tomcat。是否有一些钩子或监听器可以用于此? 我知道,通常情况下,当部署失败时不会让容器停止。在我的例子中,我想使用Tomcat实现一个快速失败的错误模型,因为目前没有机会用带有嵌入式Servlet引擎(例如,Spring-Boot)的胖jar替换WAR。