使用ClasspathSuite进行参数化测试

时间:2012-06-08 18:39:50

标签: java junit4

我需要连续多次运行我的测试(4次,我使用WebDriver测试每个浏览器一次)。我知道这是参数化测试的用例。但是,我正在使用ClasspathSuite,因此我似乎无法指定多个@RunWith注释。

有什么方法可以让我的测试多次运行并发送某种参数(比如我需要的4次运行的0 - 3)到测试中吗?

2 个答案:

答案 0 :(得分:0)

我刚刚面对这个问题,ClasspathSuite处理这个问题就好了。诀窍是在小型虚拟项目中使用这些注释找到&启动测试(跨越其他项目):

@RunWith(ClasspathSuite.class)
@SuiteTypes(RUN_WITH_CLASSES)

然后,任何需要特定跑步者的测试都会直接使用该跑步者,例如@RunWith(Parameterized.class)

请参阅“运行其他RunWith-Suites”部分:https://github.com/takari/takari-cpsuite

由于测试范围广泛,我选择使用所有选项:

@SuiteTypes({RUN_WITH_CLASSES, TEST_CLASSES, JUNIT38_TEST_CLASSES})

(默认似乎只是TEST_CLASSES。)

答案 1 :(得分:-1)

解决方案:我对每个测试用例进行了相同的参数化(在Eclipse中使用find替换为每个测试用例添加相同的代码。然后我设置了我的代码清理和格式化,所以当我运行它时它将我的代码返回到漂亮的状态(因为我的插入已全部在一行)