JUnit4的深入使用

时间:2021-10-03 05:08:27
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,技术进阶需要不断的练习,望每天进步一点!