wdio+jasmine reRun/retry single test spec it(,()=>{},3) 不起作用



我正在使用"wdio"和"jasmine"测试框架,并尝试在 https://webdriver.io/docs/retry.html 之后重新运行单个测试规范,但没有发生重试。 我正在使用 wdio 同步运行器运行以下代码,如下所示 - ./node_modules/wdio wdio.conf 它只执行一次测试。

describe("test suite", ()=>{
it("test spec",()=>{
console.log('inside test')
fail('testing retry')
},3)
})

我希望测试应该执行 1+3 次,但它只执行一次。未发生重试。我在这里错过了一些明显的东西吗?

WDIO + Jasmine 的重试行为有点奇怪,但这取决于测试的期望。以下操作将重试测试三次。

it("Should retry", function() {
throw "retry this test";
}, 3);

但是,一旦添加了失败的期望(或您的情况下为 fail((,它将退出而无需重试

it("Won't retry", function() {
expect(true).toBe(false);
}, 3);

例如,对于像 Mocha 这样的框架来说,这似乎不是行为,所以也许解决方案是更改框架。

我认为该链接对于Jasmine的it()函数的第三个参数的含义是不正确的。

根据官方文档,该数字是timeout,允许您指定测试在失败之前允许运行多长时间:

https://jasmine.github.io/api/3.5/global.html#it

describe("test suite", ()=>{
it("test spec",()=>{
console.log('inside test')
fail('testing retry')
}, jasmine.DEFAULT_TIMEOUT_INTERVAL, 3)
})

您需要添加超时间隔和之后的重试次数。

最新更新