2012-02-10 75 views
8

沒有人有在CSLA單元測試的一個例子。我發現用這個框架實現TDD很困難,並且想知道是否有任何簡單的方法來做到這一點。除了TypeMock Isolator可以免費構建我的測試對象外,還有其他的Mock Framework嗎?如果你有任何建議和樣品/例子,我會很高興?謝謝。CSLA中的單元測試?怎麼樣?什麼?

回答

8

我不確定我是否告訴了您一些新的信息,但是從CSLA 4可以更容易地單元測試您的自定義BusinessRules,並且如果您將存儲庫用作數據層,則可以嘲笑存儲庫以測試業務對象與前端一起使用它們。請記住,業務對象並不僅僅是一堆具有屬性的對象,您應該使用業務規則來實現業務邏輯。這些業務規則只是您可以單元測試而沒有問題的類。

這一切都取決於你的基礎設施如何。你在使用IoC模式嗎?

您使用CSLA哪個版本的

您使用的是里昂證券的ObjectFactory的?

如果使用CSLA,因爲它應該使用你就會有靜態工廠方法,你有一個非公開的構造。如果您仍想在BusinessObjects中單元測試這些屬性,則可以選擇某些選項。

  1. 如果使用國際奧委會的數據層(資料庫),那麼你可以嘲笑那些通過與嘲笑和存根配置的IoC測試業務對象,並在TestMethod的調用工廠方法和做測試。

  2. 如果你不使用IoC,你可能會很幸運,如果你去CSLA ObjectFactory解決方案 - 那裏你可以使用模擬和存根。

  3. 如果您沒有使用IoC並且沒有進入ObjectFactory,那麼您無法輕鬆地單元測試業務對象。但是通過註冊一個自定義的DataPortal仍然是可能的。在DataPortal內,您可以使用反射來構建業務對象和解決針對特定業務對象的一些模擬/存根。這並不容易,但它是可行的。

對不起,我沒有任何例子。