Junit核心——测试集(TestSuite)
关于测试集,实质就是包含若干个测试类的集合,通过一个具体的实例,让我们来了解一下Junit的测试集
- package org.yezi.junit;
- public class Calcaute {
- public int ride(int a, int b){
- return a * b;
- }
- public int add(int a, int b){
- return a + b;
- }
- public int reduce(int a, int b){
- return a - b;
- }
- }
- package org.yezi.junit;
- import org.junit.Test;
- import static org.junit.Assert.*;
- public class TestAdd {
- @Test
- public void testAdd(){
- Calcaute calcaute = new Calcaute();
- int result = calcaute.add(80, 20);
- assertEquals(100, result);
- }
- }
- package org.yezi.junit;
- import org.junit.Test;
- import static org.junit.Assert.*;
- public class TestReduce {
- @Test
- public void testReduce(){
- Calcaute calcaute = new Calcaute();
- int result = calcaute.reduce(80, 20);
- assertEquals(60, result);
- }
- }
- package org.yezi.junit;
- import org.junit.Test;
- import static org.junit.Assert.*;
- public class TestRide {
- @Test
- public void testRide(){
- Calcaute calcaute = new Calcaute();
- int result = calcaute.ride(80, 20);
- assertEquals(1600, result);
- }
- }
- package org.yezi.junit;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.junit.runners.Suite;
- import org.junit.runners.Suite.SuiteClasses;
- import static org.junit.Assert.*;
- @RunWith(value=Suite.class)
- @SuiteClasses(value={
- TestAdd.class, TestReduce.class, TestRide.class})
- public class TestAllRunner {
- @Test
- public void testAdd(){
- Calcaute calcaute = new Calcaute();
- int result = calcaute.add(10, 20);
- assertEquals(20, result);
- }
- }
其中,Calcaute.java是我们的业务代码;TestAdd.java、 TestReduce.java、TestRide.java是三个测试类;TestAllRunner.java是一个测试运行器。
在TestAllRunner.java中我们使用@RunWith(value=Suite.class)注解声明该类是一个测试集;
使用@SuiteClasses(value={TestAdd.class, TestReduce.class, TestRide.class})声明该测试集所包含的测试类,运行结果正常通过。
但是我们在TestAllRunner.java声明的一个测试却没有运行(因为这个测试应该不能通过的),这是因为我们并没有把TestAllRunner.java声明到测试集中,通过修改测试集声明
- @SuiteClasses(value={
- TestAdd.class, TestReduce.class, TestRide.class, TestAllRunner.class})
我们可以让TestAllRunner.java中的测试也一起运行
转载:http://blog.csdn.net/yezis/article/details/43120867