UnitTesting(Visual Studio)代码隔离在同一个.net程序集中 - 建议

时间:2017-03-30 05:15:02

标签: .net unit-testing architecture vs-unit-testing-framework

我想知道以下案例的正确建议

我的应用程序的业务模块(单个程序集)具有以下文件夹结构

-Service(文件夹)

  - MyService.cs - Implements IMyService deals with service to be performed

-DomainModel(文件夹)

  - MyDomainModel.cs - only deals with pure business rules and completely isolated from any infrastructure code. (its a normal class and is not decoupled via any interface)

场景是我需要在MyService.cs中测试MethodA,在内部调用MyDomainModel.cs中的DomainMethodA

所以在这里,我需要Shim DomainMethodA吗?

由于

1 个答案:

答案 0 :(得分:0)

基本上,当我们讨论单元测试时,我们正在测试单元。在这种情况下,该单元是一小部分功能,例如,一种方法。在单元测试的情况下,我们不想放弃这种方法(至少不要去另一个模块/类),因此所有其他方都应该模拟。因此,在您的情况下,MyDomainModel应该模拟

另一种情况是我们谈论集成测试。在这种情况下,我们不想模拟任何东西,但想要测试应用程序如何通过几个不同模块和类的长序列。有时/经常检查和验证序列中间部分的所有结果是很复杂的,因此在这种情况下,最好为这些各方创建单元测试

我建议结合这两种测试类型/样式。