如何以编程方式跳过Spock框架中的测试?我知道我可以用@Ignore跳过它来注释测试,或者@IgnoreIf用来跳过基于环境变量等的测试.但有没有办法运行任意代码来决定是否应该运行测试?
例如,假设我有一个必须连接到第三方服务的沙箱环境的集成测试.服务的沙箱环境中断导致测试失败.假设我编写了一个canConnectToService检查测试是否能够连接到此服务的方法,如何canConnectToService()返回false时如何编写将被跳过的测试?
使用JUnit的Assume类.具体来说,Assume.assumeTrue(canConnectToService())如果第三方服务不可用,您可以在测试开始时写入以跳过测试.此方法将抛出AssumptionViolatedExceptionif canConnectToService()返回false,Spock忽略由AssumptionViolatedExceptionfor JUnit兼容性中断的测试(请参阅此错误报告).
| 归档时间: |
|
| 查看次数: |
2314 次 |
| 最近记录: |