JUnit4深入使用总结
I JUnit4中的测试套件:
1、测试套件就是值测试类一起运行的。
写一个测试套件的入口类,这个类里不包含其他的方法
更改测试运行器Suite.class
将要测试的类作为数组传入到Suite.SuiteClasses({})
代码实例:
创建三个JUnit测试类:
public class UnitTest1 { @Test public void test() { System.out.println("test1 running..."); } }
public class UnitTest2 { @Test public void test() { System.out.println("test2 running..."); } }
public class UnitTest3 { @Test public void test() { System.out.println("test3 running..."); } }创建总测试类,使用注解方式将三个测试类同一到一个类方法中运行
package me.timlong.util; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({UnitTest1.class, UnitTest2.class, UnitTest3.class}) public class MultiTest { @Test public void test() { } }
II JUnit4中的参数化设置
1、更改默认的测试运行器为RunWith(Parameterized.class)。
2、声明变量来存放预期值和结果值。
3、声明一个返回值为Collection的公共静态方法,并使用Parameters进行修饰。
4、为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值。
代码实例:
package me.timlong.util; import static org.junit.Assert.*; import java.util.Arrays; import java.util.Collection; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class ParameterTest { int expected = 0; int input1 = 0; int input2 = 0; /* * 构造方法为声明的变量赋值 */ public ParameterTest(int expected, int input1, int input2) { this.expected = expected; this.input1 = input1; this.input2 = input2; } @Parameters public static Collection<Object[]> param(){ return Arrays.asList(new Object[][]{ {3, 1, 2}, {4, 2, 2} }); } /* * 进行多组数据的测试 */ @Test public void testAdd() { assertEquals(expected, new Calculate().add(input1, input2)); } }
OK,技术进阶需要不断的练习,望每天进步一点!