- Groovy 教程
- Groovy - 首页
- Groovy - 概览
- Groovy - 环境
- Groovy - 基本语法
- Groovy - 数据类型
- Groovy - 变量
- Groovy - 运算符
- Groovy - 循环
- Groovy - 决策制定
- Groovy - 方法
- Groovy - 文件 I/O
- Groovy - 可选值
- Groovy - 数字
- Groovy - 字符串
- Groovy - 范围
- Groovy - 列表
- Groovy - 映射
- Groovy - 日期和时间
- Groovy - 正则表达式
- Groovy - 异常处理
- Groovy - 面向对象
- Groovy - 泛型
- Groovy - 特性
- Groovy - 闭包
- Groovy - 注解
- Groovy - XML
- Groovy - JMX
- Groovy - JSON
- Groovy - DSL
- Groovy - 数据库
- Groovy - 构建器
- Groovy - 命令行
- Groovy - 单元测试
- Groovy - 模板引擎
- Groovy - 元对象编程
- Groovy 有用资源
- Groovy - 快速指南
- Groovy - 有用资源
- Groovy - 讨论
Groovy - 单元测试
面向对象系统最基本的单元是类。因此,单元测试包括在类内部进行测试。所采用的方法是创建被测类的对象,并使用它来检查选定的方法是否按预期执行。并非每种方法都可以测试,因为并非总是可以实际测试所有内容。但应针对关键和重要方法进行单元测试。
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())
广告