Spock规范如下:
def mySpec(someData) {
//testStuff
where: someData << someDataList
}
someDataList
是经过测试的记录列表,对于此列表的每个成员,按顺序运行mySpec
方法。我想要的是列表的前k个成员运行一个线程,下面的k个成员在第二个线程中运行等等...理论上这可以通过Executors Framework和JUnitCore
相对容易地完成class(因为Spock依赖于JUnit)。
问题是如何将较小的someDataList
注入到具有mySpec
方法的类中,因为Spock不允许构造函数而JUnitCore需要类名(具有测试/规范的类) )而不是实例。一个丑陋的解决方案是制作mySpec
的n个副本,每个副本都有一个明显较小的someDataList
,每个副本都由一个不同的线程运行;但这是一个非常难看的解决方案。
有解决方法吗?或者是否有另一种并行运行Spock规范/测试的方法?
答案 0 :(得分:3)
如果您的环境(构建工具,IDE)支持,您可以并行运行规范。目前无法并行运行功能或迭代。