CSLA中的单元测试?怎样什么

本文关键字:什么 单元测试 CSLA | 更新日期: 2023-09-27 18:23:56

有人有CSLA中单元测试的例子吗。我发现用这个框架实现TDD很困难,我想知道是否有简单的方法可以做到这一点。除了TypeMock Isolator之外,我还有其他免费的Mock Framework可以用来构建我的测试对象吗?如果你有什么建议和样品/例子,我会很高兴的?非常感谢。

CSLA中的单元测试?怎样什么

我不确定我是否在告诉您一些新信息,但从CSLA 4可以更容易地对您的自定义BusinessRules进行单元测试,如果您使用存储库作为数据层,则可以模拟存储库来测试业务对象,并使前端使用它们。请记住,业务对象只不过是一堆具有属性的对象,您应该使用业务规则来实现业务逻辑。这些业务规则只是您可以毫无问题地进行单元测试的类。

这完全取决于你的基础设施。你在使用IoC模式吗?

您正在使用哪种版本的CSLA?

您是否使用CSLA ObjectFactory?

如果您按照应该使用的方式使用CSLA,那么您将拥有静态工厂方法,并且您拥有一个非公共构造函数。如果您仍想在BusinessObjects中对这些属性进行单元测试,您可以从一些选项中进行选择。

  1. 如果您将IoC用于数据层(存储库),那么您可以通过使用mock和stub配置IoC来模拟这些对象并测试业务对象,并在测试方法中调用工厂方法并进行测试。

  2. 如果你不使用IoC,如果你选择CSLA ObjectFactory解决方案,你可能会很幸运——在那里你可以使用mock和stub。

  3. 如果你不使用IoC,也不使用ObjectFactory,你就不能那么容易地对业务对象进行单元测试。但是,注册一个自定义DataPortal仍然是可能的。在DataPortal中,您可以使用反射来构造业务对象,并为该特定业务对象解析一些mock/stub。这并不容易,但它是可行的。

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