Junit核心——测试集(TestSuite)

关于测试集,实质就是包含若干个测试类的集合,通过一个具体的实例,让我们来了解一下Junit的测试集

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. package org.yezi.junit;  
  2.   
  3. public class Calcaute {  
  4.     public int ride(int a, int b){  
  5.         return a * b;  
  6.     }  
  7.       
  8.     public int add(int a, int b){  
  9.         return a + b;  
  10.     }  
  11.       
  12.     public int reduce(int a, int b){  
  13.         return a - b;  
  14.     }  
  15.       
  16. }  
[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. package org.yezi.junit;  
  2.   
  3. import org.junit.Test;  
  4. import static org.junit.Assert.*;  
  5.   
  6. public class TestAdd {  
  7.       
  8.     @Test  
  9.     public void testAdd(){  
  10.         Calcaute calcaute = new Calcaute();  
  11.         int result = calcaute.add(80, 20);  
  12.         assertEquals(100, result);  
  13.     }  
  14.       
  15. }  
[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. package org.yezi.junit;  
  2.   
  3. import org.junit.Test;  
  4.   
  5. import static org.junit.Assert.*;  
  6.   
  7. public class TestReduce {  
  8.       
  9.     @Test  
  10.     public void testReduce(){  
  11.         Calcaute calcaute = new Calcaute();  
  12.         int result = calcaute.reduce(80, 20);  
  13.         assertEquals(60, result);  
  14.     }  
  15.       
  16. }  
[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. package org.yezi.junit;  
  2.   
  3. import org.junit.Test;  
  4. import static org.junit.Assert.*;  
  5.   
  6.   
  7. public class TestRide {  
  8.       
  9.     @Test  
  10.     public void testRide(){  
  11.         Calcaute calcaute = new Calcaute();  
  12.         int result = calcaute.ride(80, 20);  
  13.         assertEquals(1600, result);  
  14.     }  
  15.       
  16. }  
[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. package org.yezi.junit;  
  2.   
  3. import org.junit.Test;  
  4. import org.junit.runner.RunWith;  
  5. import org.junit.runners.Suite;  
  6. import org.junit.runners.Suite.SuiteClasses;  
  7. import static org.junit.Assert.*;  
  8.   
  9. @RunWith(value=Suite.class)  
  10. @SuiteClasses(value={  
  11.         TestAdd.class, TestReduce.class, TestRide.class})  
  12. public class TestAllRunner {  
  13.       
  14.     @Test  
  15.     public void testAdd(){  
  16.         Calcaute calcaute = new Calcaute();  
  17.         int result = calcaute.add(10, 20);  
  18.         assertEquals(20, result);  
  19.     }  
  20.       
  21. }  

其中,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声明到测试集中,通过修改测试集声明

  在CODE上查看代码片派生到我的代码片

  1. @SuiteClasses(value={  
  2.         TestAdd.class, TestReduce.class, TestRide.class, TestAllRunner.class})  

我们可以让TestAllRunner.java中的测试也一起运行

转载:http://blog.csdn.net/yezis/article/details/43120867

原文地址:https://www.cnblogs.com/ceshi2016/p/6434578.html