Asp.net 有没有办法模拟一个实现的类

Asp.net 有没有办法模拟一个实现的类,asp.net,unit-testing,mocking,webformsmvp,Asp.net,Unit Testing,Mocking,Webformsmvp,我想参加单元测试MVPpresenter课程。但是它与服务的交互不是通过接口进行的(它使用一个具体的类)。现在我想知道,在不必改变结构的情况下,是否仍然可以模拟服务类 在C#/VB.NET中模拟的常用方法是使用特定场景所需的实现重写虚拟方法。因此,接口是最常用的方法,因为它的所有方法都是抽象的 您不愿意将服务依赖项更改为接口,有什么原因吗?另一种方法是将要测试的方法设置为虚拟的,这样就可以在模拟中覆盖它们,但我不建议这样做,因为这有点脏 单元测试的整个要点就是测试一个特定的单元,因此依赖于一个实

我想参加单元测试MVPpresenter课程。但是它与服务的交互不是通过接口进行的(它使用一个具体的类)。现在我想知道,在不必改变结构的情况下,是否仍然可以模拟服务类

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

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


单元测试的整个要点就是测试一个特定的单元,因此依赖于一个实现而不是一个接口,这一点确实不重要。

你站在它前面,取笑它的方法和功能。;)是的,但这是一个已完成的项目,不希望改变结构。在VS 2012中,您可能会使用垫片: