繁体   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