Junit 4 Core Concept [2] parameterized tests


All Contents are referenced from Junit In Action 2nd Edtion


The Parameterized test runner allows you to run a test many times with different sets of parameters.


the code need testing

public class Calculation {
	public static int add(int a, int b){
		return a + b;
	}
}

test case with Parameterized test 

// The test class must carry the @RunWith annotation
// with the Parameterized class as its argument 
// The JUnit class Parameterized is one of JUnit’s many test runners. 
// A test runner allows you to tell JUnit how a test should be run
@RunWith(value=Parameterized.class)
public class SimpleTestCase {
	// declare instance variables used in the test
	// i.e. input values for calculation and expected value
	private int operatorA;
	private int operatorB;
	private int expectedSum;
	
	//a constructor that accepts parameters for the test
	public SimpleTestCase(int operatorA, int operatorB, int expectedSum) {
		this.operatorA = operatorA;
		this.operatorB = operatorB;
		this.expectedSum = expectedSum;
	}
	
	// provide a method annotated with @Parameters
	// The method provides parameters 
	// to be injected into the test class constructor by Parameterized Class. 
	// The signature of method has to be public static java.util.Collection, 
	// without parameters.
	@Parameters
	public static Collection<Integer[]> getParameters(){
		return Arrays.asList(new Integer[][]{   {1,2,3},
							{2,3,5},
							{3,4,7},
							{4,5,9} });
	}

	// the test method
	// Running this test will loop exactly as many times as the size of the collection
	// returned by the @Parameters method
	@Test
	public void test() {
		assertEquals(expectedSum, Calculation.add(operatorA, operatorB));
		
	}

}


test results 

one test case runs exactly as many times as the size of the collection provided by @Parameters method.

each test runs with a set of parameters within the collection.






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值