我有一個方法名爲DataIn(int InputID, string CSVValue)
的類,這是它的主要入口點。從另一種方法調用的測試方法
基於InputID
的此方法將CSV值參數存儲到相關的List<string>'s
中。當InputID
與名爲NoOfRows
的屬性相同時,它將創建一個由所有其他組成的List<string>
。然後檢查這個最後的List<string>
的有效性,如果一切正常,那麼它將結果添加到HashSet<int>
作爲檢查重複的快速方式。
我把這個邏輯分解成3個方法讓DataIn調用StoreData,當DataIn中的InputID = NoOfRows時它調用調用ValidateData的MergeData。
我的問題是我應該公開這些方法來單獨測試它們,還是應該保持它們的私密性,並將數據傳遞給DataIn,並在合併後的數據List<string>
和HashSet<int>
上聲明。 DataIn將是從外部調用的方法,使其他方法公開的只用於單元測試。
我擔心的是,如果我做的其他方法公開和測試,他們都OK,我再不敢測試數據輸入工作正常,或者如果我兩者都做我結束了重複試驗。
您的建議是什麼?
如果我有類似的邏輯http://stackoverflow.com/questions/29354729/how-to-test-2-methods-with-common-logic 2種public方法做,我不得不測試相同的邏輯兩次。在這種情況下我該怎麼辦? – 2015-03-30 21:55:14