比方說,我有一個類MyClass
與2公共方法,methodA()
和methodB()
,都返回相同類型的對象。如何在第一個方法調用第二個方法的同一個類中對2個方法進行單元測試?
methodA()
會做一些計算,然後打電話methodB
。
我應該如何測試這個類?我是否必須重複所有的測試methodA()
methodB()
?
如何解決這個問題?
謝謝
比方說,我有一個類MyClass
與2公共方法,methodA()
和methodB()
,都返回相同類型的對象。如何在第一個方法調用第二個方法的同一個類中對2個方法進行單元測試?
methodA()
會做一些計算,然後打電話methodB
。
我應該如何測試這個類?我是否必須重複所有的測試methodA()
methodB()
?
如何解決這個問題?
謝謝
獨立測試,因爲這是客戶端將看到它們。
你應該測試methodA()
就好像你不知道它是如何實現的。然後,如果您將其更改爲在將來使用methodC()
而不是methodB()
,則仍有覆蓋範圍。
這取決於正在測試的代碼以及您想要的透徹程度。如果methodA()的結果受到methodB()的影響,你可以只測試methodA(),但是由於duffymo說最好測試兩者,而且正如robert所說的最好的方法是爲methodA() t知道它是通過methodB()實現的,methodB()是相同的。既然methodA()和methodB()都是公共的,每個都應該單獨測試。但最好是,如果methodA()的測試確保methodA()完成了它的工作,並且methodB()的測試確保了methodB()完成了它的工作,所以測試不應該是相同的。