iT邦幫忙

2024 iThome 鐵人賽

DAY 23
0

單元測試

今天的重點是單元測試,這是檢查程式碼穩定性的重要工具。我們會用Jest來測試Todo List專案,確保每個功能都正常運作。

單元測試的作用
簡單來說,單元測試就是讓我們確認每個小功能都能按預期運行。像是新增待辦事項時,測試能幫助確保不會影響到其他功能,比如刪除或儲存待辦事項。

使用Jest
Jest是一個方便的測試框架,我們可以很快上手。安裝它很簡單:

npm install --save-dev jest

接著簡單的測試,比如測試addTodoItem這個功能:

// todo.test.js
const { addTodoItem } = require('./todo.js');

test('應該新增待辦事項', () => {
  const todos = [];
  const newItem = { text: 'Learn JavaScript', completed: false };
  
  addTodoItem(todos, newItem);
  
  expect(todos).toContain(newItem);
});

這段程式碼是確認我們新增的待辦事項有被正確添加到清單中。

測試更多功能
除了新增,還有其他功能需要測試,比如刪除待辦事項:

test('應該刪除已完成的待辦事項', () => {
  let todos = [
    { text: 'Learn JavaScript', completed: true },
    { text: 'Write Unit Test', completed: false }
  ];

  deleteCompletedTodos(todos);
  
  expect(todos.length).toBe(1);
  expect(todos[0].text).toBe('Write Unit Test');
});

這樣我們可以確定刪除功能正常工作,不會誤刪未完成的項目。

為什麼這麼重要?
測試讓我們在修改程式碼時不會意外搞壞功能。雖然要花點時間編寫測試,但長期來說會節省更多除錯時間。


上一篇
# JavaScript入門教學Day22
下一篇
# JavaScript實作DAY1
系列文
解鎖第一個人生成就清單:Javascript鐵人學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言