gpt4 book ai didi

c# - CSLA 中的单元测试?如何?什么?

转载 作者:太空狗 更新时间:2023-10-29 18:32:26 24 4
gpt4 key购买 nike

有没有人有 CSLA 中的单元测试示例。我发现很难用这个框架实现 TDD,想知道是否有任何简单的方法可以做到这一点。除了免费构建我的测试对象的 TypeMock Isolator 之外,还有其他我可以使用的 Mock 框架吗?如果您有任何建议和 sample /示例,我会很高兴吗?谢谢。

最佳答案

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

这完全取决于您的基础架构。您使用的是 IoC 模式吗?

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

您在使用 CSLA ObjectFactory 吗?

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

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

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

  3. 如果您不使用 IoC 并且不使用 ObjectFactory,则无法轻松地对业务对象进行单元测试。但它仍然可以通过注册自定义 DataPortal 来实现。在 DataPortal 内部,您可以使用反射来构造业务对象并为该特定业务对象解析一些模拟/ stub 。这并不容易,但它是可行的。

抱歉,我没有任何示例。

关于c# - CSLA 中的单元测试?如何?什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9226804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com