Подтвердить что ты не робот

Пропустить последующие тесты Mocha из спецификации, если один не удается

Я не могу найти способ остановить выполнение некоторой части it, если одна из них не удалась

Я использую mocha-as-promised, поэтому код может выглядеть иначе, чем usuall

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 следует пропустить

EDIT: кажется, я просто делаю свои тесты неправильными, будет ждать некоторое время перед удалением вопроса

EDIT:

как я ответил в комментарии - я уже получил этот ответ в группах mocha google, но есть некоторые другие ограничения, о которых я не упоминал, - я использую grunt-simple-mocha и как я проверял код - нет залога опция, когда я передаю параметры конструктору mocha

Мне не удалось найти, где параметры из командной строки передаются экземпляру Suite, и единственная строка, где она может быть, как я вижу, это

suite.bail(this.bail());

который выглядит странно для меня

Я думаю, что я открою проблему на страницах mocha github, возможно, они будут распространять пройденные параметры с настройкой под залог позже или просто объяснить мне, что я сделал не так, и как я могу решить свою проблему другим способом.

EDIT: теперь, согласно https://github.com/visionmedia/mocha/commit/f0b441ceef4998e570a794dcff951bf2330eb0c5 у последней мокки есть возможность залога из коробки. Спасибо авторам!

4b9b3361

Ответ 1

Mocha поддерживает восстановление после первого теста, это то, что вы хотите?

От mocha --help:

-b, --bail                      bail after first test failure