2012-02-10 44 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内,您可以使用反射来构建业务对象和解决针对特定业务对象的一些模拟/存根。这并不容易,但它是可行的。

对不起,我没有任何例子。