相信有許多人知道開發有一個重要的環節就是進行測試,不管是透過直接操作功能、打 API 或是程式內部執行測是程式等等都是測試的一種,今天要介紹的單元測試就是指測試程式碼最小功能單位的運作。
Java 常見的開源測試框架,目前最新版本為 JUnit5,使用了Java 8 及更高版本的Java 語言特性。 進行單元測試的可讀性更強,編寫更容易,且可以輕鬆擴充。
Spring Boot 版本 | 相容的 JUnit 版本 |
---|---|
≤ 2.1 | JUnit 4 |
2.2, 2.3 | JUnit 4、JUnit 5 |
≥ 2.4 | JUnit 5 |
通常只要建立一般 web 的專案就會導入 spring-boot-starter-test 裡面就會包含 Junit 測試框架了
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
導入注意
先建立一個Calculator 類別並有一個 add 方法:
public class Calculator {
public static int add(int x, int y) {
return x + y;
}
}
依照前面導入注意在 test 資料夾下面建構與 main 相同的結構,並建立一個 class 並依照對應的命名規則來建立。
或是你使用 intellij 可以對這個個類別或是方法按下 Alt + Insert (Windows) 或 command + N (Mac) 來叫出特殊功能選單並選 test 就可以看到編輯器會自動幫我們建立對應的 package 結構至 test 內,並且可以選擇自動產生哪些對應內部 class 有的方法至新的測試程式內。
先建立一個Calculator 類別並有一個 add 方法:
public class Calculator {
public static int add(int x, int y) {
return x + y;
}
}
依照前面導入注意在 test 資料夾下面建構與 main 相同的結構,並建立一個 class 並依照對應的命名規則來建立。
或是你使用 intellij 可以對這個個類別或是方法按下 Alt + Insert (Windows) 或 command + N (Mac) 來叫出特殊功能選單並選 test 就可以看到編輯器會自動幫我們建立對應的 package 結構至 test 內,並且可以選擇自動產生哪些對應內部 class 有的方法至新的測試程式內。
建立測試程式測試 add 方法,要在方法上面加入 @Test 告訴 Spring Boot 這是測試程式
class CalculatorTest {
@Test
void testAdd() {
Calculator calc = new Calculator();
int x = 1;
int y = 1;
int result = calc.add(x, y);
assertEquals(2, result);
}
}
assertEquals() 就是斷言方法,可以幫助我們驗證預期結果,這邊就先確定測是可以正常運行,我們放入第 1 個參數是預期值及第 2 個是實際結果,如果帶入的兩個值相等就會通過測試。
如果有寫好多個測試方法想要一次跑完,就可以點選 class 左方的圖示一次執行全部的測試
這一篇先完成基本的測試方法建立,下一篇會詳細介紹更多的斷言用法。
Ref:
相關文章也會同步更新我的部落格,有興趣也可以在裡面找其他的技術分享跟資訊。