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