1
如果我有酥料餅的說,我想測試一下:如何確保茉莉花單元測試中的DRY代碼?
- 創建
- 被操縱
- 被破壞
這是有益的它在一個地方聲明(隱藏在「描述」中),以便它可以在「它」之間共享。
應該在測試之間分享一些東西嗎? I.E test2依賴test1首先運行? 用Jasmine做這件事的最好方法是什麼?
如果我有酥料餅的說,我想測試一下:如何確保茉莉花單元測試中的DRY代碼?
這是有益的它在一個地方聲明(隱藏在「描述」中),以便它可以在「它」之間共享。
應該在測試之間分享一些東西嗎? I.E test2依賴test1首先運行? 用Jasmine做這件事的最好方法是什麼?
依靠測試訂單是一件壞事。要在測試之間分享內容,您可以設置對象的狀態。假設下面的僞代碼:
var popover = getPopover({state:'init'});
//checking init state
...
//other test starting
var popover = getPopover({state:'manipulated'});
//checking the state
所以主要想法是能夠以你需要的狀態初始化你的對象。 請注意,如果執行初始化的代碼並不多,而且您不需要重複使用它,則可以對每個測試的狀態設置進行硬編碼。當然,這不是乾燥的,但是你可以從可以閱讀的測試中受益,而無需參考其他方法。有時候這是一件好事,但這取決於。
此外,您可以使用beforeEach
和afterEach
在每次測試之前和之後進行設置和拆卸(這是一個描述級別的事情)。這是執行狀態初始化和清理的首選方法之一。