gpt4 book ai didi

spock - 以编程方式跳过 Spock 中的测试

转载 作者:行者123 更新时间:2023-12-04 06:57:56 31 4
gpt4 key购买 nike

如何以编程方式跳过 Spock 框架中的测试?我知道我可以 annotate a test with @Ignore 跳过它,或使用 @IgnoreIf跳过基于环境变量等的测试。但是有没有办法运行任意代码来决定是否应该运行测试?

例如,假设我有一个必须连接到第三方服务的沙箱环境的集成测试。服务沙箱环境中的中断会导致测试失败。假设我已经写了一个方法 canConnectToService检查测试是否能够连接到此服务,如果canConnectToService(),我该如何编写将被跳过的测试返回假?

最佳答案

使用 JUnit 的 Assume class .具体来说,你可以写Assume.assumeTrue(canConnectToService())如果第三方服务不可用,请在测试开始时跳过测试。此方法将抛出 AssumptionViolatedException如果 canConnectToService()返回 false,Spock 忽略被 AssumptionViolatedException 中断的测试用于 JUnit 兼容性(请参阅 this bug report )。

关于spock - 以编程方式跳过 Spock 中的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33818907/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com