我知道摩卡具有全球前後,每個測試之前和之後,但我想是測試特定的前後。像SoapUI一樣。摩卡/柴 - 測試具體設置和拆除
例如,假設我有一個測試檢查用戶的創建是否有效。
我想在測試之前從數據庫中刪除用戶,如果它存在的話。我希望測試能夠確保用戶在測試後被移除。但我不想爲每個測試做這個,因爲只有一個測試會真正創建用戶。其他測試將刪除用戶,更新用戶,未能創建已存在的用戶等。
這是可能的,還是必須在測試中包含設置和拆卸代碼?如果是這樣,我如何確保設置和拆卸都正確執行,與測試結果無關?
我知道摩卡具有全球前後,每個測試之前和之後,但我想是測試特定的前後。像SoapUI一樣。摩卡/柴 - 測試具體設置和拆除
例如,假設我有一個測試檢查用戶的創建是否有效。
我想在測試之前從數據庫中刪除用戶,如果它存在的話。我希望測試能夠確保用戶在測試後被移除。但我不想爲每個測試做這個,因爲只有一個測試會真正創建用戶。其他測試將刪除用戶,更新用戶,未能創建已存在的用戶等。
這是可能的,還是必須在測試中包含設置和拆卸代碼?如果是這樣,我如何確保設置和拆卸都正確執行,與測試結果無關?
對於那些我需要有特殊的安裝和拆卸代碼,但不是來自他們的兄弟姐妹,否則區分的測試,我只是把一個describe
塊帶有空標題:
describe("SomeClass",() => {
describe("#someMethod",() => {
it("does something",() => {});
it("does something else",() => {});
describe("",() => {
// The before and after hooks apply only to the tests in
// this block.
before(() => {});
after(() => {});
it("does something more",() => {});
});
});
});
這是可能的,還是必須在測試中包含設置和拆卸代碼?如果是這樣,我如何確保設置和拆卸都正確執行,與測試結果無關?
您可以放安裝和拆卸測試本身的代碼(內部的即傳遞給it
回調)。但是,摩卡將把任何故障視爲測試,期間。在傳遞給it
的回調中發生故障並不重要。斷言庫允許您提供自定義錯誤消息,這可以幫助您找出究竟發生了什麼故障,但Mocha將以同樣的方式看到it
中的所有失敗:測試失敗。如果您希望Mocha以與測試失敗不同的方式處理安裝/拆卸代碼中的故障,那麼您的必須使用來使用上面顯示的鉤子。
謝謝,那我就知道了。所以,雖然有點迂迴,但很高興知道有辦法處理安裝和拆卸。 –