当前位置: 首页 > 面试题库 >

如果一项失败,请从规范中跳过后续的摩卡测试

祁曦哲
2023-03-14
问题内容

it如果其中一个失败,我无法找到一种方法来停止其中的某些部分

我正在使用mocha-as-promised,因此代码看起来可能与往常不同

describe("remote promises", function() {
  describe("browsing", function() {
    describe("getting page", function() {
      it("should navigate to test page and check title", function() {
        this.timeout(TIMEOUT);
        return browser.get("http://admc.io/wd/test-pages/guinea-pig.html").then(function() {
          return browser.title();
        }).then(function(title) {
          return assert.ok(~title.indexOf("I am a page title - Sauce Labs"), "Wrong title!");
        });
      })
      it("submit element should be clicked1", function() {
        this.timeout(TIMEOUT);
        return browser.elementById("submit").then(function(el) {
          return browser.clickElement(el);
        }).then(function() {
            return browser["eval"]("window.location.href");
          }).then(function(location) {
            assert.ok(~location.indexOf("http://"), "Wrong location!");
          });
      })
    });
    describe("clicking submit", function() {
      it("submit element should be clicked2", function() {
        this.timeout(TIMEOUT);
        return browser.elementById("submit").then(function(el) {
          return browser.clickElement(el);
        }).then(function() {
            return browser["eval"]("window.location.href");
          }).then(function(location) {
            assert.ok(~location.indexOf("http://"), "Wrong location!");
          });
      });
    });

  });
});

我想如果should navigate to test page and check title失败的话 submit element should be clicked1应该跳过

编辑:似乎我只是在使我的测试是错误的,将等待一段时间才能删除问题

编辑:

正如我在评论中回答的那样-我已经在摩卡Google网上论坛中收到了此答案,但是还有其他一些我没有提到的限制-我正在使用grunt-simple-
mocha并且我检查了代码-当我查看保释金时,将选项传递给摩卡构造函数

我无法找到命令行中的选项传递到Suite实例的位置,而我看到的唯一行可能是

suite.bail(this.bail());

这对我来说很奇怪

我认为我将在mocha github页面上打开问题,也许他们以后会用保释金设置扩展通过的选项,或者只是向我解释我做错了什么以及如何以其他方式解决我的问题

编辑:现在,根据
https://github.com/visionmedia/mocha/commit/f0b441ceef4998e570a794dcff951bf2330eb0c5

最新的Mocha,有保释箱可供选择。感谢作者!


问题答案:

摩卡咖啡支持在第一次测试失败后进行收费,这就是您想要的吗?

来自mocha --help

-b, --bail                      bail after first test failure


 类似资料:
  • 问题内容: 我正在使用Jenkins,Python,Selenium2(webdriver)和Py.test框架为网络测试创建测试用例。 到目前为止,我正在按照以下结构组织测试: 每个 类 是 测试用例 ,每个 方法是一个 测试步骤 。 当一切正常时,此设置非常有用,但是当一个步骤崩溃时,其余的“测试步骤”就会发疯。我可以借助来将故障包含在类(测试用例)中,但是我正在研究如何改进它。 我需要的是,

  • 我正在使用webdriverIO和Mocha开发一个框架。最近我安装了Allure reporter来使用jenkins生成HTML报告 默认的mocha日志记录处理得很好,它显示如下: 我还使用了wdio spec reporter,它显示如下,这也很好: 我已经尝试使用categories.json文件来操作诱惑力类别,但我无法更改任何内容。我试着把它作为一个测试,但是把它添加到我的诱惑力结果

  • 问题内容: 我正在使用 Junit 通过 Seleniun WebDriver 运行测试。我试图将测试分成功能区域,以更好地报告错误。我创建了测试以测试页面加载/将文档移动到其他工作流程。如果页面加载测试失败,或者工作流移动失败,我想跳过后续的页面/工作流测试。 如果测试A失败,如何跳过班级中的其余测试或在班级B中运行测试? 注意: 我意识到我要问的是“ UNIT TESTS的 不良实践* 。但是

  • 我正在尝试使用PHPUnit和Selenium与headless firefox建立一个自动测试。Travis CI尝试运行我的测试时,Selenium server无法启动,但我的测试被认为正常,因为PHPUnit将其标记为跳过: 在我看来,当测试因为内部错误而无法启动时,应该认为它失败了。这真的很愚蠢,因为我的测试可能会以这种方式失败,如果没有阅读完整的报告,我可以相信事实上一切都正常运行,因

  • 问题内容: 无论彼此是否成功,我都应该执行几个测试,并且如果这些测试中至少有一个失败,我希望詹金斯/哈德森显示 红灯 。我当前的配置(为简化起见)如下: ci.sh : build.xml : 我怎样才能使所有测试都执行,但是如果三个测试中至少有一个失败,则ant / Jenkins应该会失败? 问题答案: 我发现线程计数设置为“ 1”的任务是可行的解决方法。这不是完美的,但是更改很小: buil