Junit核心——测试集(TestSuite)

时间:2023-11-21 13:44:38

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

  1. package org.yezi.junit;
  2. public class Calcaute {
  3. public int ride(int a, int b){
  4. return a * b;
  5. }
  6. public int add(int a, int b){
  7. return a + b;
  8. }
  9. public int reduce(int a, int b){
  10. return a - b;
  11. }
  12. }
  1. package org.yezi.junit;
  2. import org.junit.Test;
  3. import static org.junit.Assert.*;
  4. public class TestAdd {
  5. @Test
  6. public void testAdd(){
  7. Calcaute calcaute = new Calcaute();
  8. int result = calcaute.add(80, 20);
  9. assertEquals(100, result);
  10. }
  11. }
  1. package org.yezi.junit;
  2. import org.junit.Test;
  3. import static org.junit.Assert.*;
  4. public class TestReduce {
  5. @Test
  6. public void testReduce(){
  7. Calcaute calcaute = new Calcaute();
  8. int result = calcaute.reduce(80, 20);
  9. assertEquals(60, result);
  10. }
  11. }
  1. package org.yezi.junit;
  2. import org.junit.Test;
  3. import static org.junit.Assert.*;
  4. public class TestRide {
  5. @Test
  6. public void testRide(){
  7. Calcaute calcaute = new Calcaute();
  8. int result = calcaute.ride(80, 20);
  9. assertEquals(1600, result);
  10. }
  11. }
  1. package org.yezi.junit;
  2. import org.junit.Test;
  3. import org.junit.runner.RunWith;
  4. import org.junit.runners.Suite;
  5. import org.junit.runners.Suite.SuiteClasses;
  6. import static org.junit.Assert.*;
  7. @RunWith(value=Suite.class)
  8. @SuiteClasses(value={
  9. TestAdd.class, TestReduce.class, TestRide.class})
  10. public class TestAllRunner {
  11. @Test
  12. public void testAdd(){
  13. Calcaute calcaute = new Calcaute();
  14. int result = calcaute.add(10, 20);
  15. assertEquals(20, result);
  16. }
  17. }

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

Junit核心——测试集(TestSuite)Junit核心——测试集(TestSuite)

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

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

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