Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想对MVP演示者类进行单元测试。但它与服务的交互不是通过接口(它使用具体类)。现在我想知道是否有模拟服务类而不必改变结构?
在 C#/VB.NET 中模拟的常用方法是使用特定场景所需的实现覆盖虚拟方法。因此,接口是最常用的方法,因为它的所有方法都是抽象的。
您是否有理由不愿意将服务依赖项更改为接口?另一种方法是将要测试的方法设置为虚拟的,这样您就可以在模拟中覆盖它们,但我不建议这样做,因为它有点脏。
单元测试的重点只是测试一个特定的单元,因此依赖于实现而不是接口真的很重要。