执行结果:
Parameterized Number is : 1
Parameterized Number is : 3
Parameterized Number is : 6
Parameterized Number is : 11
Parameterized Number is : 22
Parameterized Number is : 23
true
如今,将某个数据改动一下,如{ 11, true }改成{ 10, true },执行结果:
Parameterized Number is : 1
Parameterized Number is : 3
Parameterized Number is : 6
Parameterized Number is : 10
Parameterized Number is : 22
Parameterized Number is : 23
testOdd[3](myTest.param.ParametTestUnit): expected:<true> but was:<false>
false
表示第3个数据(基于0)有问题。
成组測试
有非常多单元測试类须要測试,将它们组成一个Suite。大家一起測试。
比如新写了两个单元測试类:
package myTest.param; import static org.junit.Assert.assertEquals; public class AddUnit1 { @org.junit.Test public void testAdd() { System.out.println("Inside AddUnit1"); assertEquals(3, 1+2); } } package myTest.param; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; public class AddUnit2 { @org.junit.Test public void testSth() { System.out.println("Inside AddUnit2"); assertThat("Zero is one", 0, is(not(1))); // passes assertThat("Zero is one", 0, is(1)); //fail } } |
将它们组成一个Suite,须要写捆绑代码,清晰起见。单独用一个类。
package myTest.param;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
AddUnit1.class,
AddUnit2.class,
//ParametTestUnit.class
})
public class SuiteUnit {}
还是用上面的Main,改动为runClasses(SuiteUnit.class); 执行结果:
Inside AddUnit1.testAdd()
Inside AddUnit2.testSth()
testSth(myTest.param.AddUnit2): Zero is one
Expected: is <1>
got: <0>
false
能够把对ParametTestUnit.class的測试也加进来。执行结果:
Inside AddUnit1.testAdd() Inside AddUnit2.testSth() Parameterized Number is : 1 Parameterized Number is : 3 Parameterized Number is : 6 Parameterized Number is : 10 Parameterized Number is : 22 Parameterized Number is : 23 testSth(myTest.param.AddUnit2): Zero is one Expected: is <1> got: <0> testOdd[3](myTest.param.ParametTestUnit): expected:<true> but was:<false> false |