Jasmine2量角器-如何提前退出规范以满足某些期望,但不是全部?

Jasmine2量角器-如何提前退出规范以满足某些期望,但不是全部?,jasmine,protractor,Jasmine,Protractor,我有一个套件,其中包含许多规格。每个规范都包含对许多可重用函数的调用(跨规范和套件共享)。有些功能包括期望,有些则不包括。实际上,这些函数创建了“构建块”,我的规范和套件就是从这些“构建块”构建的 目前,当我运行我的测试时,它们会“无情地”继续进行——也就是说,如果预期失败,测试会尽力继续。这在很大程度上是绝对正确的 但是,我有一个或两个可重用的函数,其中包括如果它们失败,那么该规范中所有剩余的函数调用/期望都将保证失败——因此,没有继续的必要——最好中止该规范,并尝试套件中的下一个规范 但我看

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

目前,当我运行我的测试时,它们会“无情地”继续进行——也就是说,如果预期失败,测试会尽力继续。这在很大程度上是绝对正确的

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

但我看不出有什么办法可以做到这一点——谷歌搜索等网站只建议了“先失败后保释”类型的选项,这是两码事

显然(除非我大错特错!)
expect
没有返回任何内容,所以我想我正在修改这些特定函数,类似于下面的jasmine式伪代码(不是真正的JS!)

bailOnFail=true
期望(某物)ToEqual(重要价值);
bailOnFail=false

或者

if(某物!==重要值){
失败(“哦,天哪,一切都糟透了”);
exitSpec
}


(顺便说一句,是否有某种与
fail
语句等价的
pass
语句将“任意”通过添加到结果中??!!)

您可以使用Promise.reject()来实现这一点

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