
- 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())
廣告