`
ttitfly
  • 浏览: 616389 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JUnit4中参数化测试

阅读更多
JUnit4中参数化测试要点:

1. 测试类必须由Parameterized测试运行器修饰

2. 准备数据。数据的准备需要在一个方法中进行,该方法需要满足一定的要求:

1)该方法必须由Parameters注解修饰
2)该方法必须为public static的
3)该方法必须返回Collection类型
4)该方法的名字不做要求
5)该方法没有参数

如:
测试方法:
public int add(int a,int b){
		return a+b;
	}


测试代码:
package org.test;

import java.util.Arrays;
import java.util.Collection;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
/**
 * 参数化测试的类必须有Parameterized测试运行器修饰
 *
 */
@RunWith(Parameterized.class)
public class AddTest3 {

	private int input1;
	private int input2;
	private int expected;
	
	/**
	 * 准备数据。数据的准备需要在一个方法中进行,该方法需要满足一定的要求:

		 1)该方法必须由Parameters注解修饰
		 2)该方法必须为public static的
		 3)该方法必须返回Collection类型
		 4)该方法的名字不做要求
		 5)该方法没有参数
	 * @return
	 */
	@Parameters
	@SuppressWarnings("unchecked")
	public static Collection prepareData(){
		Object [][] object = {{-1,-2,-3},{0,2,2},{-1,1,0},{1,2,3}};
		return Arrays.asList(object);
	}
	
	public AddTest3(int input1,int input2,int expected){
		this.input1 = input1;
		this.input2 = input2;
		this.expected = expected;
	}
	@Test
	public void testAdd(){
		Add add = new Add();
		int result = add.add(input1, input2);
		Assert.assertEquals(expected,result);
	}
	
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics