iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
Software Development

Spring boot 從零到寫出ChatGPT系列 第 21

Spring boot 從零開始 (21) - 來撰寫Unit Test 之Junit介紹

  • 分享至 

  • xImage
  •  

我們要怎麼確保程式的品質呢 ?! 這個時候我們就需要透過測試程式來驗證我們寫的程式邏輯是否正確。

單元測試是甚麼

是針對程式模組(軟體設計的最小單位)來進行正確性檢驗的測試工作。程式單元是應用的最小可測試部件。

安裝

pom.xml加入Spring Boot Test Starter

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

Spring Boot Test Starter幫開發者將多個測試的依賴整合在一個dependency提供使用,裡面包含:

  1. JUnit 5
  2. Spring Test 和 SpringBootTest
  3. Mockito
    等等其他的測試依賴

這邊我們會為大家示範以上三種常見的單元測試寫法

(一) JUnit

我們用前面Book來當作範例,測試Book Model是否可以正常創建與取得對應的值

1. 先在 src 底下 test folder > model > BookTest.java

2. 撰寫測試

  • 在method上面加上@Test
  • 底下開始撰寫想測試的邏輯
  • 利用assertEquals來去比對期望值與實際結果是否相符
import org.junit.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class BookTest {
    @Test
    public void testBookGetId() {
        Book book = new Book();
        book.setBookId(1);
        Integer expected = 1;
        Integer actual = book.getBookId();

        assertEquals(expected, actual);
    }
}

如果想要看我們目前的測試Coverage的話,我們可以依照以下步驟
https://ithelp.ithome.com.tw/upload/images/20241006/20112118ma359W4kGl.png

執行完畢後就可以看到我們目前所有寫的程式跟測試報告覆蓋率了喔
https://ithelp.ithome.com.tw/upload/images/20241006/20112118A4CoxtxJ67.png

我們明天接著跟大家介紹Mockito的用法/images/emoticon/emoticon06.gif


上一篇
Spring boot 從零開始 (20) - Spring boot send mail 撰寫 & 發信
下一篇
Spring boot 從零開始 (22) - 來撰寫Unit Test 之Mockito介紹
系列文
Spring boot 從零到寫出ChatGPT30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言