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");
}