有没有办法模拟实现的类

时间:2012-09-23 19:14:43

标签: asp.net unit-testing mocking webformsmvp

我想单元测试 MVP 演示者类。但它与服务的交互不是通过接口(它使用具体的类)。现在我想知道是否有模拟服务类而不必更改结构?

1 个答案:

答案 0 :(得分:1)

在C#/ VB.NET中通常的模拟方法是使用特定方案所需的实现来覆盖虚方法。因此,接口是最常用的方法,因为它的所有方法都是抽象的。

您是否有理由不愿意将服务依赖项更改为接口?另一种方法是让你想要测试虚拟的方法,所以你可以在你的模拟中覆盖它们,但我不建议这样做,因为它有点脏。

单元测试的重点只是测试一个特定的单元,因此依赖于一个实现而不是一个接口真的非常重要。