使用 JavaSript 要進行測試最常使用的就是使用 Jest ,另外依據使用的前端框架來搭配使用進行測試。
以下內文就先以一些範例來直接學習
testing-library
當使創建一個 react 檔案,會預設加入的測試範例檔
1
2
3
4test('renders learn react link', () => {
const linkElement = screen.getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});screen : it represent the whole document which we have rendered
getByText: 取得 text
getByText(/learn react/i)
expect(linkElement).toBeInTheDocument();
- 期待變數得值,
toBeInTheDocument()
- 檢測此項目是否存在於文件之中
- toBeInTheDocument:判斷一個 Element 是否存在於 DOM 中
撰寫測試的參考文件
加入列表(list)測試
1 | import logo from './logo.svg'; |
1 | test('renders 3 list items', () => { |
- jest expect
- 需要時到官網看相關使用的API
expect(listItems.length).toBe(3);
expect(listItems.length).toEqual(3);
測試 title
- getByTestId:運用此方法可以直接取得在元素上設置的 data-testid
- getByTitle : 取得在標籤設置 title 的元素
1 | <!-- const a = 2 |
1 | test('renders title', () => { |
運行測試
npm run test
透過測試所提供的錯誤提示,可以得知預期的結果以及實際運行後得到的值之間的差異
參考資料:
[Day29] React Testing Library 的一些實用的小技巧
Next.js | 初探單元測試,使用 Jest + React Testing Library