【问题标题】:Basic unit testing of ASP.NET MVC web appASP.NET MVC Web 应用的基本单元测试
【发布时间】:2011-06-29 09:14:11
【问题描述】:

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

请指教。

非常感谢。

【问题讨论】:

    标签: c# .net asp.net-mvc unit-testing


    【解决方案1】:

    如果您的代码中有紧密耦合,那么您会发现很难单独测试应用程序的每个部分,并且很难模拟依赖项。

    因此,如果您的控制器依赖于SomeService,则提取一个新接口ISomeService 并依赖它。这就是使用 IoC 容器注入依赖项的地方也将帮助您并促进松散耦合的代码。

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

    我不倾向于测试我的视图/视图模型,因为无论如何它们都很愚蠢。

    【讨论】:

    • +1 好答案。最好的建议之一是购买一本关于该主题的好书并阅读它。通过这样做,我节省了很多时间。
    【解决方案2】:

    当我第一次开始 MVC 时,我阅读了 Apress 的 Pro ASP.net MVC 2 书,我强烈推荐它(尽管 MVC 3 书在几周后出版)。它解释了如何设计您的网站,以便对其进行有效的单元测试。它还使用 NUnit 和 Moq 进行测试。 http://amzn.to/iIfij4

    【讨论】:

      猜你喜欢
      • 2020-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 2012-03-02
      相关资源
      最近更新 更多