我有一個關于測試類(如轉換器)的問題??梢哉f我有一個從EntityA到EntityB的轉換器。轉換器看起來像這樣:public EntityB convert(EntityA){ //call interal methods return B.}private xy internalMethod1(...){ //call other interal Method}private xy internalMethod2(...){ ....}private xy internalMethod3(...){ ....}private xy internalMethod4(...){ ....}轉換器具有一個公共方法和4個內部方法來轉換實體。我應該如何測試?Option1 我僅測試公共方法,并通過不同的示例輸入涵蓋了internalMethods中的所有情況。優點:僅測試“接口”。不知道內部結構。內部重構非常容易,不需要在測試中進行任何更改。缺點:測試所有案例的測試可能很大,可能不清楚。每個輸入都必須通過所有方法。Option2 我為公共方法和私有方法編寫測試。(某些testframeworks可以訪問諸如powermock或spock(groovy)之類的私有方法。)我單獨測試每個方法并模擬其他每個內部方法。優點:真正的小型測試,僅測試方法本身并模擬所有其他方法。缺點:我知道它是如何內部實現的,如果我在內部調用結構上重構某些方法,某些方法名或某些內容,則必須更改測試Option3 我編寫了一些新的類,這些類負責內部工作并具有公共方法優點:測試可能更清晰,并且僅針對特殊班級。缺點:一項轉換任務需要更多類。請幫助我,這里的最佳做法是什么。也許一些良好的鏈接/提示。感謝您的時間。
如何測試類似轉換器的東西
慕工程0101907
2021-05-20 18:06:05