我使用SpecFlow和xUnit的组合来测试我的CSLA业务对象。 SpecFlow与xUnit用于定义和测试用户场景(例如:功能/验收测试),而仅使用xUnit来测试单个类和这些类的组合。CSLA类内部的依赖项(例如数据访问)通过容器进行注入。这些依赖关系可以并经常被模拟进行单元测试。测试客户端和我们的远程数据门户具有加载正确依赖项的单独容器。如果测试需要模拟任何数据门户依赖项,我们有一个特殊的CSLA命令(通过xUnit BeforeAfterTestAttribute执行),该命令在数据门户上执行,并将标准依赖项替换为我们的模拟依赖项。当测试完成时,再次执行该命令以将标准依赖项放回容器中。希望这些内容对您有所帮助。