Groovy - 单元测试

  • 简述

    面向对象系统的基本单位是类。因此,单元测试由一个类中的 testig 组成。所采用的方法是创建被测类的一个对象,并使用它来检查所选方法是否按预期执行。并非每种方法都可以测试,因为测试每件事并不总是可行的。但是要对关键的、关键的方法进行单元测试。
    JUnit 是一种开源测试框架,是公认的 Java 代码自动化单元测试行业标准。幸运的是,JUnit 框架可以很容易地用于测试 Groovy 类。所需要做的就是扩展作为标准 Groovy 环境一部分的 GroovyTestCase 类。Groovy 测试用例类基于 Junit 测试用例。
  • 编写一个简单的 Junit 测试用例

    假设我们在应用程序类文件中定义了以下类 -
    
    class Example {
       static void main(String[] args) {
          Student mst = new Student();
          mst.name = "Joe";
          mst.ID = 1;
          println(mst.Display())
       } 
    } 
     
    public class Student {
       String name;
       int ID;
         
       String Display() {
          return name +ID;
       }  
    }
    
    上述程序的输出如下所示。
    
    Joe1
    
    现在假设我们想为 Student 类编写一个测试用例。典型的测试用例如下所示。以下代码需要注意以下几点 -
    • 测试用例类扩展了 GroovyTestCase 类
    • 我们使用 assert 语句来确保 Display 方法返回正确的字符串。
    
    class StudentTest extends GroovyTestCase {
       void testDisplay() {
          def stud = new Student(name : 'Joe', ID : '1')
          def expected = 'Joe1'
          assertToString(stud.Display(), expected)
       }
    }
    
  • Groovy 测试套件

    通常随着单元测试数量的增加,很难将所有测试用例一个接一个地执行。因此,Groovy 提供了一种创建测试套件的工具,可以将所有测试用例封装到一个逻辑单元中。以下代码片段显示了如何实现这一点。关于代码应注意以下事项 -
    • GroovyTestSuite 用于将所有测试用例封装为一个。
    • 在下面的示例中,我们假设我们有两个测试用例文件,一个名为StudentTest,另一个是EmployeeTest,其中包含所有必要的测试。
    
    import groovy.util.GroovyTestSuite 
    import junit.framework.Test 
    import junit.textui.TestRunner 
    class AllTests { 
       static Test suite() { 
          def allTests = new GroovyTestSuite() 
          allTests.addTestSuite(StudentTest.class) 
          allTests.addTestSuite(EmployeeTest.class) 
          return allTests 
       } 
    } 
    TestRunner.run(AllTests.suite())