我正在努力讓我的腦袋圍繞單元測試,並且我在確定在進行集成測試之前可以推進單元測試的程度有點麻煩。
我正在從事的項目的一個示例:它有一個使用DirectorySearcher對Active Directory執行LDAP搜索並將結果作爲Person對象返回的類。我的第一個想法是爲DirectorySearcher獲取界面,然後創建一個相當複雜的存根,我可以用它來測試。但是,這被證明是有問題的,因爲DirectorySearcher似乎沒有使用接口,並且需要大量代碼才能成功保存。
我的下一個想法是創建一個Searcher類,它在內部使用DirectorySearcher,它可以讓我測試LDAP結果和Person對象映射之間的映射,但這並沒有太大的幫助,而且還是另一個級別抽象。
所以,我想底線是這樣的:有沒有一種方法的結構,所以我可以做大部分的單元測試工作?我寧願讓集成測試套件儘可能小,因爲我必須對不斷變化的外部數據源進行測試。我懷疑有這樣做的模式,但我一直無法找到它。
謝謝!
計算機科學中的所有問題都可以通過另一個層次的間接方法來解決:P(我知道這沒有什麼幫助,但是你的問題中的一個句子讓我想起了這句話)。 – 2011-03-24 21:27:17
@Martin ...「除了間接層太多的問題」(謝謝大衛惠勒) – 2011-03-24 21:30:17