欢迎您的访问
专注架构,Java,数据结构算法,Python技术分享

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

赞(1) 打赏
版权归原创作者所有,任何形式转载请联系作者;码农code之路 » JUnit:测试框架

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏