Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC web应用程序的基本单元测试_C#_.net_Asp.net Mvc_Unit Testing - Fatal编程技术网

C# ASP.NET MVC web应用程序的基本单元测试

C# ASP.NET MVC web应用程序的基本单元测试,c#,.net,asp.net-mvc,unit-testing,C#,.net,Asp.net Mvc,Unit Testing,使用ASP.NET MVC和C#创建的web应用程序的基本单元测试是什么。我使用MySQL作为我的后端数据库。我是否需要为控制器类和模型类创建单元测试?我想使用NUnit框架和NMock框架。在阅读有关使用NMock的文章时,我应该在单元测试中使用和接口,但我的代码没有接口。我是否需要修改我的web应用程序代码并添加一些界面,或者有其他方法来实现这一点 请告知 非常感谢。如果代码中存在紧密耦合,那么很难单独测试应用程序的每个部分,也很难模拟依赖关系 因此,如果您的控制器依赖于SomeServic

使用ASP.NET MVC和C#创建的web应用程序的基本单元测试是什么。我使用MySQL作为我的后端数据库。我是否需要为控制器类和模型类创建单元测试?我想使用NUnit框架和NMock框架。在阅读有关使用NMock的文章时,我应该在单元测试中使用和接口,但我的代码没有接口。我是否需要修改我的web应用程序代码并添加一些界面,或者有其他方法来实现这一点

请告知


非常感谢。

如果代码中存在紧密耦合,那么很难单独测试应用程序的每个部分,也很难模拟依赖关系

因此,如果您的控制器依赖于
SomeService
,则提取一个新接口
ISomeService
,并依赖该接口。在这里,使用IoC容器注入依赖项也将帮助您和提升松散耦合的代码

在典型的n层MVC应用程序中,我们将对数据访问层、服务层(模拟数据访问层依赖关系)、MVC控制器(模拟服务层依赖关系)进行单元测试


我不倾向于测试我的视图/视图模型,因为它们非常愚蠢。

当我第一次启动MVC时,我读了一本由Apress编写的Pro ASP.net MVC 2书籍,我强烈推荐它(尽管MVC 3书籍在几周后出版)。它解释了如何设计您的站点,以便能够有效地进行单元测试。它还使用NUnit和Moq进行测试

+1个好答案。最好的建议之一是买一本关于这一主题的好书并阅读。我这样做节省了很多时间。