多次运行验收测试以确定成功率(java)

多次运行验收测试以确定成功率(java),java,unit-testing,testing,gradle,junit,Java,Unit Testing,Testing,Gradle,Junit,我有一个JUnit类包,它们代表我的验收测试。我正在用一些随机性编写一个模拟,我发现其中一些测试的失败概率很小 我想做的是多次运行包中的所有测试,并将它们的成功率存储在csv文件中。 每一行都是测试的名称和成功率 对于JUnit或Gradle(我在这个项目中使用的),有没有一种自动化的方法可以做到这一点?我认为您必须在构建文件中自己编写代码。 类似于创建名为test1,test2,test3。。。具有相同的配置。这可能看起来像: (1..10).each { task "test$it"

我有一个JUnit类包,它们代表我的验收测试。我正在用一些随机性编写一个模拟,我发现其中一些测试的失败概率很小

我想做的是多次运行包中的所有测试,并将它们的成功率存储在csv文件中。
每一行都是测试的名称和成功率


对于JUnit或Gradle(我在这个项目中使用的),有没有一种自动化的方法可以做到这一点?

我认为您必须在构建文件中自己编写代码。 类似于创建名为
test1
test2
test3
。。。具有相同的配置。这可能看起来像:

(1..10).each {
    task "test$it"(type: Test) {
        // configuration of the test task
    }
}
然后您必须尝试使用这两种方法中的任何一种,它可以在多个测试任务结果上创建一个测试报告,尽管我还没有使用它,所以我不知道它会是什么样子,也不知道它是否会给出您想要的结果,

或者,您可以在配置测试任务并在那里收集统计信息时使用。然后,还可以声明一个依赖于所有测试任务的任务,并在执行阶段输出statstics。

仅使用核心Java会有什么问题吗?您可以记录一个测试通过的次数,然后在测试套件完成之前自己将其写入CSV。是的,这是我目前的方法。然而,这些测试需要一些时间,我错过了gradle的多线程测试。很明显,我可以自己实例化一个执行器,但我想知道是否有更好的方法。有什么原因你不能控制或消除随机性吗?对于单元测试,我显然可以而且可以。对于验收测试,我不知道。