0

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

4

1 回答 1

1

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

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

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

于 2012-09-23T19:19:00.273 回答