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
应该跳过
编辑:似乎我只是让我的测试错了,在删除问题之前会等待一段时间
编辑:
正如我在评论中回复的那样——我已经在 mocha google 群组中收到了这个答案,但是还有一些我没有提到的其他限制——我正在使用 grunt-simple-mocha 并且当我检查代码时——当我没有保释选项时将选项传递给 mocha 构造函数
我找不到从命令行传递给套件实例的选项的位置,而我看到的唯一行是
suite.bail(this.bail());
这对我来说看起来很奇怪
我想我会在 mocha github 页面上打开问题,也许他们稍后会通过保释设置扩展传递的选项,或者只是解释我做错了什么以及如何以其他方式解决我的问题
编辑:现在,根据https://github.com/visionmedia/mocha/commit/f0b441ceef4998e570a794dcff951bf2330eb0c5 最新的 Mocha 有保释选项。感谢作者!