为什么我要将ASP.NET MVC与TDD
一起使用?
TDD的优点是什么?为什么适合MVC使用这种方法?
答案 0 :(得分:5)
ASP.NET MVC提供了传统WebForms开发的替代方案。它清楚地分离了应用程序中的问题,使代码更容易测试。与WebForms相反,在ASP.NET MVC基础结构中,诸如HttpContext之类的类被抽象化,并且可以在单元测试中进行模拟以模拟请求处理。您还可以更好地控制生成的HTML,这在您想要遵守标准的情况下是一件好事。
由于分离,可以应用TDD。在此迭代过程中,编写单元测试以根据规范列表验证代码。在开发的第一阶段,编写单元测试似乎会减慢进程,但随着代码的增长,它的好处变得更加清晰,因为一旦修改或重构某些内容,就不再需要手动测试应用程序的每个方面。
答案 1 :(得分:2)
与ASP.NET测试(unit testing)相比,更容易。
另外,在旁注中,我喜欢完全控制用户浏览器的HTML输出。而不是ASP.NET自动为您生成的混乱。
ASP.NET MVC在比较中使用是一种乐趣。
答案 2 :(得分:1)
它们是天然的组合:)
ASP.NET WebForms对TDD不友好。 MVC让它变得更容易。
答案 3 :(得分:1)
带TDD的Asp.net mvc:
本演练演示如何使用测试驱动开发(TDD)方法在Visual Studio中开发ASP.NET MVC应用程序。 MVC旨在实现可测试性,而无需依赖Web服务器(IIS),数据库或外部类。 (这与需要Web服务器的Web窗体页面的单元测试形成对比。)
在本演练中,您将在实现控制器功能之前为MVC控制器创建测试。您可以在拥有控制器之前编写测试。优点是单元测试中的编译器错误是单元测试失败的第一级形式。重点是如何在实现控制器本身之前通过编写单元测试来设计控制器的意图,这是TDD理念的一个重要方面。
以测试为导向的开发:
测试驱动开发(TDD)尝试通过将购物车放在马前并在编写代码之前编写测试来解决此问题并生成质量更高,经过良好测试的代码。作为极限编程(XP)的核心实践之一,TDD在Java社区中获得了强大的追随者,但是在.NET中这样做的篇幅很少
* *根据我的经验,一个优势是:
答案 4 :(得分:0)
SOLID是一套我们在编写优质生产代码时不断思考并尝试遵循的设计原则。
SOLID代表(单一责任原则,开放原则,Liskov替换,接口隔离和依赖注入)。
在编写ASP.NET项目(或任何项目)时,TDD的优势在于,通过遵循TDD,您可以自动创建遵循SOLID原则的代码。
SOLID代码将使您的代码易于更改,不易碎,易于维护和灵活。 =伟大的代码。