量角器:停止当前规格(然后继续使用其他规格)

时间:2015-10-16 18:51:58

标签: javascript automated-tests protractor

我正在为网站设置自动化测试,我的一个规格依赖于之前的规范传递。第一个规范将在页面中保存预设配置,第二个规范将删除它。因此,如果第一个规范未能保存预设,我不希望第二个规范运行(否则它可能会删除我想要的预设!)。

如果第二个规范没有运行,我想继续测试其后的规格。但是,只需在第二个规范中加入保证失败的期望语句,就可以继续使用规范(这意味着删除预设)。我试过快速失败,但是这会在失败时完全退出测试,这不是我想要的。我还尝试使用' done'来实现异步测试,但功能类似于预期。

目前我通过尝试调用一个不存在的函数来解决这个问题。它只是失败了当前的规格,没有继续当前的规格,并开始测试下一个规格。但是我觉得应该采用更清洁的方法。是否存在退出规范的内置方式?

这是我目前的第二个规格。 origPresets是第一个规范中设置的全局变量:

it('should allow presets to be deleted', function() {
  return MyPageObject.GetNumberOfPresets().then(function(numPresets) {
    if (numPresets === origPresets) {
      FailingThisSpec();
    }
    // rest of spec starts here

1 个答案:

答案 0 :(得分:0)

我认为如果我理解正确的话,jasmine 2.x中的fail()函数可以帮助您解决问题。

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 here