2011-12-19 80 views
2

當我們的單元測試使用代碼覆蓋率時,遇到了一些奇怪的結果。AssemblyInitialize未在代碼覆蓋範圍內測量

AssemblyInitialize功能我們做一些初始化的工作(比如AutoMapperAbstractFactories)和正確執行此功能。

奇怪的是,代碼覆蓋顯示沒有覆蓋從AssemblyInitialize調用的函數。這是設計還是我在這裏做錯了什麼?

回答

0

我會去按照設計,它似乎太具體以至於其他任何東西。作爲一個正在研究開源類似覆蓋工具的人,這似乎很奇怪,因爲這是一個意外,並且會是一個非常不尋常的錯誤。

TDD純粹主義者認爲這是因爲任何類型(程序集/類)的設置/拆卸實際上並不是測試本身的一部分,因此不應包含在覆蓋範圍內。您應該對該代碼進行單獨的特定測試,而不是依賴測試設置/初始化失敗。其他.NET工具(例如dotCover)通過測試覆蓋測試,「可能」也排除運行此類設置時獲得的結果;這是猜測而不是已知的事實。

+0

是的..也許我應該爲它創建一個單獨的單元測試。但代碼並不是很快(例如Automapper.Configure需要很長時間才能運行1次測試)。感謝您的輸入。我也無法想象它是一個錯誤還是什麼......所以它可能更多是一個概念性的東西。 – 2011-12-20 08:14:07