web-dev-qa-db-ja.com

仕様から失敗した場合、後続のMochaテストをスキップします

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をスキップする必要がある

編集:私はちょうど私のテストを間違えているようです、質問を削除する前にしばらく待ちます

編集:

私はコメントで答えました-私はすでにモカのグーグルグループでこの答えを受け取りましたが、私は質問で言及されていない他の制限があります-私はgrunt-simple-mochaを使用していますmochaコンストラクターにオプションを渡す

コマンドラインからのオプションがSuiteインスタンスに渡される場所を見つけることができませんでした。

suite.bail(this.bail());

私には奇妙に見える

私はmocha githubページで問題を開くと思います、多分彼らは渡されたオプションをベイル設定で拡張するか、単に間違ったことと他の方法で問題を解決する方法を説明します

編集:そして今、 https://github.com/visionmedia/mocha/commit/f0b441ceef4998e570a794dcff951bf2330eb0c5 最新のモカにはボックスからの保釈オプションがあります。著者に感謝します!

44
llamerr

Mochaは最初のテスト失敗後の保釈をサポートしていますが、それはあなたが望むものですか?

mocha --helpから:

-b, --bail                      bail after first test failure
101
Beau