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,技术进阶需要不断的练习,望每天进步一点!