是否有一个JUnit相当于NUnit的TestCaseAttribute?

时间:2013-12-19 01:40:07

标签: java unit-testing junit

在NUnit中,我可以这样做:

[TestCase(12,3,4)]
[TestCase(12,2,6)]
[TestCase(12,4,3)]
public void DivideTest(int n, int d, int q)
{
  Assert.AreEqual( q, n / d );
}

它将使用每组参数运行3个测试用例。有没有办法在JUnit4中做这样的事情?我试图谷歌它,只提出这样的东西:Parameterized unit tests with JUnit 4这比上面的NUnit例子复杂得多。

2 个答案:

答案 0 :(得分:2)

看看junitparams,然后你可以编写如下代码:

@Test
@Parameters({ "17, false", 
              "22, true" })
public void personIsAdult(int age, boolean valid) throws Exception {
  assertThat(new Person(age).isAdult(), is(valid));
}

(以上链接示例)

您必须使用注释@RunWith(JUnitParamsRunner.class)来运行JUnitParamsRunner的测试,而不是普通的JUint跑步者

答案 1 :(得分:0)

不。参数化测试是我所知道的最接近的事情。