假设我有一个junit
测试类:
class MyComponentTest { private void test(File file) {...} @Test public void test1() {test("test1.txt")} @Test public void test2() {test("test2.txt")} @Test public void test3() {test("test3.txt")} }
test
方法从file
读取输入数据,并使用输入数据测试组件。
如果我要更改MyComponentTest
?
class MyComponentTest { private void test(File file) {...} @Test public void testAll() { for (String name: dir.list()) test(new File(name)) } }
现在我只有一次测试(testAll
),而不是之前的三次测试(test1
,test2
和test3
)。例如,Runner
将无法识别三个单独的测试,就像在上一版本的类中一样。
我的问题是:如何从test
的角度对每个junit
方法调用进行单独的测试?
答案 0 :(得分:2)
虽然你可以使用Junit's Parameterized测试,但它有点牵扯和丑陋。我建议你看spockframework,这简化了这一点。 TestNG还有另一种选择。