【发布时间】:2018-02-26 10:17:21
【问题描述】:
我正在使用 Spock 进行测试,并且我有多个类要测试。我想告诉 Spock 以特定顺序测试每个类。有没有办法做到这一点?我注意到TestNG有@AfterTest注解,那么Spock有类似的吗?
【问题讨论】:
-
你的意思是你有多个
Specifications?还是Specification中的多个测试? -
我有多个扩展规范的类
-
如果您的测试套件依赖于规范的顺序,而规范依赖于特征方法 (FM) 的顺序,那么您的测试套件就会损坏。远离那个。一个规范要独立于其他规范,一个FM要独立于同一规范中的其他FM。我是一名敏捷教练,在我最近的一个项目中,有一个包含数千个测试的大型 Spock/Geb 测试套件,而在一个非常复杂的 Geb 集成测试中,我们使用了
@Stepwise,因为它测试了一个长页面流,包括由合作伙伴托管的外部系统。顺便说一句,我们仍然对@Stepwise感到难过。 -
您有 2 个单独的问题。一个与规格顺序有关,另一个与
@AfterTest有关。规范订单已在下面回答。 “我注意到 TestNG 有 @AfterTest 注释,那么 Spock 有类似的东西吗?” - 你可能想要@AfterClass。另一种方法是在您的规范中有一个名为cleanupSpec()的方法。