我已經在我的項目中編寫和使用了一個裝飾器,而現在我正試圖測試用裝飾器包裝的函數是包裝與裝飾者。如何測試一個函數是用裝飾器包裝的(javascript)
我想我可以測試什麼是裝飾之內發生的事情正在發生的事情,我已經知道該怎麼做,但我更傾向於將完全模擬出的裝飾,只是斷言功能被包裹着它。
有誰知道如何去做(希望與sinon /柴)?
我已經在我的項目中編寫和使用了一個裝飾器,而現在我正試圖測試用裝飾器包裝的函數是包裝與裝飾者。如何測試一個函數是用裝飾器包裝的(javascript)
我想我可以測試什麼是裝飾之內發生的事情正在發生的事情,我已經知道該怎麼做,但我更傾向於將完全模擬出的裝飾,只是斷言功能被包裹着它。
有誰知道如何去做(希望與sinon /柴)?
沒有關於它們被任何特定函數裝飾的對象的元數據 - 裝飾器只是語法糖,並且可以以不同的方式應用。
所以,是的,斷言裝飾者實際發生的事情是唯一的方法。你可以模擬裝飾器並明確地測試它是通過設置一個特定的標誌或甚至檢查裝飾器的參數和返回值來應用的,但你可能不應該這樣做。修飾器是一個實現細節,不要爲它們測試 - 測試修飾器提供的行爲。
好的,謝謝你的幫助,我想問一下,如果在另一種情況下倒退,是否有可能。 –
檢查裝飾者應該與裝飾功能/類別 – topheman
Offtop分享的功能。裝飾器不是ES7的功能。階段2呢。 https://github.com/tc39/proposal-decorators – Artin
我不想檢查裝飾器在做什麼,我試圖單元測試它。而@Artin你是對的,但我的問題仍然存在,我應該如何編輯問題來反映這個問題? –