簡體   English   中英

CSLA的單元測試? 怎么樣? 什么?

[英]Unit Testing in CSLA? How? What?

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

我不確定我是否告訴您一些新信息,但是從CSLA 4開始,您可以更輕松地對自定義BusinessRules進行單元測試,如果您使用存儲庫作為數據層,則可以模擬存儲庫以測試業務對象前端使用它們。 請記住,業務對象不僅僅是一堆具有屬性的對象,您應該使用業務規則來實現業務邏輯。 那些業務規則只是可以毫無問題地進行單元測試的類。

這一切都取決於您的基礎設施。 您使用的是IoC模式嗎?

您使用的是哪個版本的CSLA?

你在使用CSLA ObjectFactory嗎?

如果你使用CSLA,你應該使用靜態工廠方法,你有一個非公共構造函數。 如果您仍想在BusinessObjects中對這些屬性進行單元測試,則可以選擇一些選項。

  1. 如果您將IoC用於數據層(存儲庫),那么您可以通過使用模擬和存根配置IoC來模擬這些並測試業務對象,並在testmethod中調用工廠方法並進行測試。

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

  3. 如果您不使用IoC並且沒有使用ObjectFactory,則無法輕松地對業務對象進行單元測試。 但是通過注冊自定義DataPortal仍然可以實現。 在DataPortal中,您可以使用反射來構造業務對象並解析該特定業務對象的某些模擬/存根。 這並不容易,但它是可行的。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM