Junit使用

一、Junit常用注释 

  • @Test 将一个普通的方法修饰成为一个测试方法。
    • @Test(excepted=XX.class)
      • @Test(excepted=ArithmeticException.class):预期被测方法是否抛出ArithmeticException异常
    • @Test(timeout=毫秒)
  • @BeforeClass:它会在所有的方法运行前被执行:static修饰,只执行一次。
  • @AfterClass:它会在所有的方法结束后被执行:static修饰,只执行一次。
  • @Before:会在每一个测试方法被运行前都执行一次。
  • @After:会在每一个测试方法运行后被执行一次。
  • @Ignore:所修饰的测试方法会被测试运行器忽略。
  • @RunWith:可以更改测试运行器org.junit.runner.Runner

Junit4的单元测试用例执行顺序为:@BeforeClass->@Before->@Test->@After->@AfterClass

每一个测试方法的调用顺序为:@Before->@Test->@After

二、测试套件

@RunWith注解:当类被@RunWith注解修饰,或者类继承了一个被该注解修饰的类,Junit将会使用这个注解所指明的测试运行器进行测试。

多个测试代码类一起运行。

Junit使用_第1张图片

 说明:

  • 使用@RunWith注解,修改测试运行器,例如@RunWith(Suite.class) ,这个类就成为测试套件的入口类
  • @Suite.SuiteClasses()中放入测试套件的测试类,以数组的形式{class1,class2}作为参数

三、JUnit参数化设置

如果测试代码大同小异,代码结构都是相同的,不同的只是测试的数据和预期值,那么有没有更好的方法将相同的代码结构提取出来,提高代码的重用度呢?

解决:进行参数化测试

步骤:

  1. 要进行参数化测试,需要在类上面指定如下的运行器:@RunWith(Parameterized.class)
  2. 在提供数据的方法上加上一个@Paramater注解,这个方法必须是静态static 的,并且返回一个集合Collection
  3. 在测试类的构造方法中为各个参数赋值(构造方法是由Junit调用的),最后编写测试类,它会根据参数的组数来运行测试多次。
import static org.junit.Assert.*;

import java.lang.reflect.Array;
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 TestParameter {
	
	private static Calculator calcultor = new Calculator();
	int expected = 0;
	int num1 = 0;
	
	//提供测试数据
	@Parameters
	public static Collection data() {
		/*
		 * 2 2
		 * 3 3
		 * 4 4
		 * */
		return Arrays.asList(new Object[][]{{2,2},{5,3},{9,4}});
	}
	
	//给Junit调用
	public TestParameter(int expected,int num1) {
		this.expected = expected;
		this.num1 = num1;
	}
	
	//在此类下,此方法运行3次
	@Test
	public void testAdd() {
		calcultor.add(num1);
		assertEquals(expected, calcultor.getResult());
	}
	
//	@Test
//	public void testAdd() {
//		calcultor.add(2);
//		assertEquals(2, calcultor.getResult());
//	}
	
}

四、Junit测试步骤:

1、创建测试类

2、选择要测试的方法

3、设计测试用例,用断言方式比较

4、运行测试类,查看测试结果

5、查看测试覆盖率

 五、在eclipse中配置jdk

  1. 在eclipse中配置jdk
    Window–>Preferences–>java–>installed JREs–>add–>Standard VM–>选择jdk安装路径就好了

Junit使用_第2张图片

Junit使用_第3张图片

Junit使用_第4张图片

你可能感兴趣的:(软件测试,1024程序员节)