【问题标题】:Protractor with Jasmine2 - How to exit spec early for some expectations, but not all?Protractor with Jasmine2 - 如何提前退出规范以获得一些期望,但不是全部?
【发布时间】:2016-04-29 13:19:07
【问题描述】:

我有一个包含许多规格的套件。每个规范都包含对许多可重用函数的调用(跨规范和套件共享)。其中一些功能包括期望,一些不包括。实际上,这些函数创建了“构建块”,我的规范和套件都是基于这些构建块构建的。

目前,当我运行测试时,它们会“无情地”继续 - 即,如果预期失败,测试会尽最大努力继续。也就是说,在大多数情况下绝对没问题。

但是,我有一个或两个可重用函数,其中包括期望如果它们失败,则该规范中所有剩余的函数调用/期望都保证失败 - 因此没有必要继续 - 最好中止该规范,并且尝试套件中的下一个。

但我看不出有任何方法可以做到这一点 - 谷歌搜索等只建议“首次失败时保释”类型选项,这不是一回事。

显然(除非我错了!)expect 不返回任何内容,所以我想我正在寻找类似于以下茉莉花式伪代码的修改这些特定函数(不打算作为实际的 JS !)

bailOnFail = true expect (something).ToEqual(importantValue); bailOnFail = false

或者

if (something !== importantValue){ fail ("Oh dear, it's all gone horribly wrong"); exitSpec }

(顺便说一句,是否有某种 pass 等效于 fail 语句以将“任意”传递添加到结果中??!!)

【问题讨论】:

    标签: jasmine protractor


    【解决方案1】:

    你可以使用 Promise.reject(); 来做到这一点

    if (something !== importantValue){
         Promise.reject("Oh dear, it's all gone horribly wrong");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多