1

我正在将“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 次。但它只执行一次。重试没有发生。我在这里遗漏了一些明显的东西吗?

4

3 回答 3

1

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

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

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

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

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

于 2020-08-14T15:14:33.113 回答
0
describe("test suite", ()=>{
    it("test spec",()=>{
       console.log('inside test')
       fail('testing retry')
       }, jasmine.DEFAULT_TIMEOUT_INTERVAL, 3)
})

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

于 2022-01-31T15:37:21.007 回答
0

我认为关于 Jasmineit()函数的第三个参数的含义的链接是不正确的。

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

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

于 2020-03-06T14:02:05.780 回答