這是一個由 Yoni Goldberg 維護的 GitHub 專案,提供了全面而詳盡的 JavaScript 和 Node.js 測試最佳實踐,內容包括超過 50 個實用建議,從基礎到高級技巧,如生產環境測試、變異測試和基於屬性的測試等。這份指南涵蓋了前端、後端、持續整合等各個面向,旨在提升讀者的測試技能到高於平均水準。此外,還提供了多種語言的翻譯版本,方便不同語言使用者閱讀。
每個項目都會有一個程式範例,有時候還會搭配圖片。
比如說其中一個範例:
建議: 一份測試報告應該告訴那些不一定熟悉程式的人,目前應用程式的修訂版本是否符合他們的要求,包括:測試人員、DevOps 工程師和兩年後的你。如果測試能包含這三個需求面的描述,就能很好的實現這一點:
(1) 測試的對象是什麼? 例如,ProductsService.addNewProduct 這個方法。
(2) 在什麼情況或場景下? 例如,價格沒有傳給該方法。
(3) 預期的結果是什麼? 例如,新的產品沒有被批准。
// 1. unit under test describe('Products Service', function() { describe('Add new product', function() { // 2. scenario and 3. expectation it('When no price is specified, then the product status is pending approval', ()=> { const newProduct = new ProductService().add(...); expect(newProduct.status).to.equal('pendingApproval'); }); }); });