章節連結
在撰寫測試程式的斷言時,往往會遇上要比對陣列內出現某些字串的次數,讓程式碼可以更為精簡好讀。這邊筆記下實踐方法。
內容
由於 toContain 方法是沒有辦法計算出次數的,它只能判別有沒有出現過,所以需要運用 Array 本身的 .length 和 .filter 方法一同使用來完成。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import { formatNumber } from './your-file-path' describe('formatNumber function', () => { // 假設一個 formatNumber 函式若發生錯誤時,會回傳 Your param is not a number it('should return "Your param is not a number" for invalid input', () => { // Arrange const invalidInputs = ['invalid', NaN, undefined, null, {}, [], () => {}, true, false, 0 / 0]; // Act const results = invalidInputs.map(input => formatNumber(input)).filter(i=> i=== "Your param is not a number"); // Assert expect(results.length).toBe(invalidInputs.length); }); }); |
按讚加入粉絲團