2021-05-29 11:07  阅读(1569)
文章分类:JUnit 教程 文章标签:JUnit单元测试
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/junit/

JUnit - 测试框架

什么是 Junit 测试框架?

JUnit 是一个回归测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量。JUnit 测试框架能够轻松完成以下任意两种结合:

  • Eclipse 集成开发环境
  • Ant 打包工具
  • Maven 项目构建管理

特性

JUnit 测试框架具有以下重要特性:

  • 测试工具
  • 测试套件
  • 测试运行器
  • 测试分类

测试工具

测试工具是一整套固定的工具用于基线测试。测试工具的目的是为了确保测试能够在共享且固定的环境中运行,因此保证测试结果的可重复性。它包括:

  • 在所有测试调用指令发起前的 setUp() 方法。
  • 在测试方法运行后的 tearDown() 方法。

让我们来看一个例子:

        import junit.framework.*;
    
        public class JavaTest extends TestCase {
           protected int value1, value2;
    
           // assigning the values
           protected void setUp(){
              value1=3;
              value2=3;
           }
    
           // test method to add two values
           public void testAdd(){
              double result= value1 + value2;
              assertTrue(result == 6);
           }
        }

测试套件

测试套件意味捆绑几个测试案例并且同时运行。在 JUnit 中,@RunWith 和 @Suite 都被用作运行测试套件。以下为使用 TestJunit1 和 TestJunit2 的测试分类:

        import org.junit.runner.RunWith;
        import org.junit.runners.Suite;
    
        //JUnit Suite Test
        @RunWith(Suite.class)
        @Suite.SuiteClasses({ 
           TestJunit1.class ,TestJunit2.class
        })
        public class JunitTestSuite {
        }
        import org.junit.Test;
        import org.junit.Ignore;
        import static org.junit.Assert.assertEquals;
    
        public class TestJunit1 {
    
           String message = "Robert";   
           MessageUtil messageUtil = new MessageUtil(message);
    
           @Test
           public void testPrintMessage() { 
              System.out.println("Inside testPrintMessage()");    
              assertEquals(message, messageUtil.printMessage());     
           }
        }
        import org.junit.Test;
        import org.junit.Ignore;
        import static org.junit.Assert.assertEquals;
    
        public class TestJunit2 {
    
           String message = "Robert";   
           MessageUtil messageUtil = new MessageUtil(message);
    
           @Test
           public void testSalutationMessage() {
              System.out.println("Inside testSalutationMessage()");
              message = "Hi!" + "Robert";
              assertEquals(message,messageUtil.salutationMessage());
           }
        }

测试运行器

测试运行器 用于执行测试案例。以下为假定测试分类成立的情况下的例子:

        import org.junit.runner.JUnitCore;
        import org.junit.runner.Result;
        import org.junit.runner.notification.Failure;
    
        public class TestRunner {
           public static void main(String[] args) {
              Result result = JUnitCore.runClasses(TestJunit.class);
              for (Failure failure : result.getFailures()) {
                 System.out.println(failure.toString());
              }
              System.out.println(result.wasSuccessful());
           }
        }

JUnit 测试分类

测试分类是在编写和测试 JUnit 的重要分类。几种重要的分类如下:

  • 包含一套断言方法的测试断言
  • 包含规定运行多重测试工具的测试用例
  • 包含收集执行测试用例结果的方法的测试结果

作者:w3cschool 来源:https://www.w3cschool.cn

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> JUnit – 测试框架
上一篇
JUnit – 环境设置
下一篇
JUnit – 基本用法