如何借助SpockConfig.groovy批量启动Geb与Spock多类测试?
用SpockConfig.groovy批量执行所有Geb/Spock测试类
核心思路
通过SpockConfig.groovy中的runner配置块定义测试类匹配规则,让Spock运行器自动扫描并执行所有符合条件的测试类,无需逐个启动测试类。
具体实现步骤
- 创建/编辑SpockConfig.groovy
在项目的src/test/resources目录下创建(若已存在则直接编辑)SpockConfig.groovy文件,添加以下配置:
runner { // 规则1:匹配指定包下的所有测试类 include { packageName.startsWith('com.yourproject.tests') } // 规则2:匹配所有以Spock默认后缀"Spec"结尾的测试类(可二选一或结合使用) include { className.endsWith('Spec') } }
- 可根据项目结构选择匹配规则:包路径匹配更精准,类名后缀匹配更通用。
- 配置测试执行入口
- IDE环境:在IntelliJ等IDE中创建Spock测试运行配置,指定使用该SpockConfig文件,运行后会自动扫描所有符合规则的测试类。
- 构建工具(以Gradle为例):在build.gradle中添加配置,让测试任务加载该配置文件:
test { systemProperty 'spock.configuration', 'src/test/resources/SpockConfig.groovy' }
执行gradle test命令即可批量运行所有匹配的测试类。
- 可选:排除特定测试类
如果需要跳过某些测试类,可在runner块中添加exclude规则:
runner { include { className.endsWith('Spec') } exclude { className == 'com.yourproject.tests.SkipThisSpec' } }
内容的提问来源于stack exchange,提问作者user1511808
相关产品推荐
相关产品推荐

