的我有一個第三方服務單元測試策略 - 驗證狀態私有字段
每次臨危它更新內存中的記錄(List<MyObj>
舉行)的消息時臨危消息的窗口服務,並定期廣播他們
我想測試名單的狀態
選項我想出了是
將列表的可見性從私有更改爲受保護。然後創建一個具有公開屬性的測試特定子類,其中顯示狀態
將公共屬性添加到僅在調試模式下編譯的類中。 即
#if (DEBUG)
public IList<MyObj> TestProperty
{
get { return _myObj; }
}
#endif
哪一個是最好的解決方案(或至少壞)?
有沒有更好的方法?
* 編輯 *
剛剛發現這篇文章提供了一個徹底的運行所有選項
http://www.codeproject.com/KB/cs/testnonpublicmembers.aspx
我明白你的觀點 - 然而,廣播信息已經從接收到的信息轉變而來。我想驗證整個清單上的各種操作。此外,廣播由定時器觸發,這使得難以通過單元測試進行驗證。(謝謝) – ChrisCa 2010-11-19 09:53:37
@Christo:我會建議讓廣播部分更容易測試,更可編程的定時器。 – 2010-11-19 12:34:32