zoukankan      html  css  js  c++  java
  • 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 的重要分类。几种重要的分类如下:

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

    from: http://wiki.jikexueyuan.com/project/junit/test-framework.html

  • 相关阅读:
    由一次自建库迁移到阿里云RDS引发的性能问题。
    pycharm2017自建注册服务器
    linux 邮件工具利器sendEmail时效超好
    python利用smtplib和MIMETYPE发送邮件
    如何去除本地文件与svn服务器的关联
    【转】nginx提示:500 Internal Server Error错误的解决方法
    Eclipse SVN插件安装
    Weblogic用户名密码获取
    Io 异常: The Network Adapter could not establish the connection
    Oracle修改字段名、字段数据类型
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/10197946.html
Copyright © 2011-2022 走看看