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 最新のモカにはボックスからの保釈オプションがあります。著者に感謝します!
Mochaは最初のテスト失敗後の保釈をサポートしていますが、それはあなたが望むものですか?
mocha --help
から:
-b, --bail bail after first test failure