首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使Spock重试失败的Geb测试?

如何使Spock重试失败的Geb测试?
EN

Stack Overflow用户
提问于 2012-07-14 00:33:43
回答 2查看 2.8K关注 0票数 3

我有一个使用Geb和Spock的Grails应用程序的功能测试。有时,功能测试会因超时或其他零星行为而失败。在以前使用TestNG的项目中,我会让retryAnalyzer在测试执行期间触发一次重试,以查看是否两次都失败(然后真正失败)。

如何让Spock重试失败的测试?

EN

回答 2

Stack Overflow用户

发布于 2013-10-13 01:54:41

我知道这个问题已经有一年之久了,但我们一直都有同样的问题。按照Peter的建议,我创建了一个Spock扩展(https://github.com/anotherchrisberry/spock-retry)。

如果你有一个基本规范(就是我们的例子),你只需要给它添加一个@RetryOnFailure注解:

代码语言:javascript
复制
@RetryOnFailure
class BaseFunctionalSpec extends Specification {
    //    all tests will execute up to two times before failing
}

或者,您可以将其添加到特定功能:

代码语言:javascript
复制
class SomeSpec extends Specification {

    @RetryOnFailure(times=3)
    void 'test something that fails sporadically'() {
        // will execute test up to three times before failing
    }
}
票数 9
EN

Stack Overflow用户

发布于 2012-07-14 02:37:18

您必须编写一个小的JUnit规则(例如,类似于https://gist.github.com/897229)或Spock扩展。您可能不得不接受一些限制,比如相同的规范实例被重用,JUnit只报告一个测试,但希望不会完全排除这种方法。(我想到的一件事是,模仿可能不起作用。)在Spock的未来版本中,重复测试(或其构建块)可能会成为一流的概念,取消这些限制。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11474609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档