我正在为一个站点设置自动测试,我的规范之一依赖于以前的规范传递。第一个规范将在页面中保存一个预设的配置,而第二个规范将删除它。因此,如果第一个规范未能保存预设,我不希望第二个规范运行(否则它可以删除我想要的预置!)。
如果第二个规范没有运行,我想在它之后继续测试规范。但是,只需在第二个规范中添加一个有保证的expect语句就可以继续使用这个规范(这意味着删除一个预置)。我尝试过快速失败,但这会在失败时完全停止测试,这不是我想要的。我还尝试使用“done”进行异步测试,但功能类似于expect。
目前,我通过尝试调用一个不存在的函数来解决这个问题。它仅失败于当前规范,不继续当前规范,并开始测试下一个规范。然而,我觉得应该有一个更干净的方法来解决这个问题。有什么内置的方式退出规范吗?
这是我目前的第二份规格。origPresets是第一个规范中的一个全局变量集:
it('should allow presets to be deleted', function() {
return MyPageObject.GetNumberOfPresets().then(function(numPresets) {
if (numPresets === origPresets) {
FailingThisSpec();
}
// rest of spec starts here发布于 2015-10-18 11:45:13
我认为,如果我正确理解您,Jasmin2.x中的不及格()函数应该会帮助您解决问题。
it('should allow presets to be deleted', function() {
return MyPageObject.GetNumberOfPresets().then(function(numPresets) {
if (numPresets === origPresets) {
fail("Can't delete");
}
// rest of spec starts herehttps://stackoverflow.com/questions/33177662
复制相似问题