【问题标题】:wdio+jasmine reRun/retry single test spec it('',()=>{},3) doesn't workwdio+jasmine reRun/retry single test spec it('',()=>{},3) 不起作用
【发布时间】:2020-01-01 03:56:32
【问题描述】:

我正在将“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-v5 wdio-jasmine


【解决方案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 这样的框架的行为,所以也许解决方案是改变框架。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:
      describe("test suite", ()=>{
          it("test spec",()=>{
             console.log('inside test')
             fail('testing retry')
             }, jasmine.DEFAULT_TIMEOUT_INTERVAL, 3)
      })
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-21
        • 2019-06-17
        • 2016-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-27
        • 1970-01-01
        相关资源
        最近更新 更多