Jer*_*van 31 asp.net tdd webforms
我知道微软推出ASP.NET MVC的原因是为了简化为ASP.NET进行测试驱动设计(TDD).但是,我在ASP.NET WebForms中有一个相当大的棕色字段(现有)应用程序,我很乐意在其中实现一些TDD类型的功能.我假设有一种方法可以做到这一点,但有哪些可行的选择?
Joh*_*ers 39
微软推出了ASP.NET MVC,因为他们认为他们可以从尚未开发的市场赚钱 - 那些认为Web Forms过于"重量级"的人,以及使用轻量级框架进行编程的人.这包括习惯于MVC范例的人.
它还包括那些无法弄清楚如何在Web表单中进行单元测试,以及谁想要使用单元测试和TDD的人.
与其他任何东西一样,使用Web表单的方法是将除UI代码之外的所有内容分成类库中的单独类.使用TDD开发这些类.
下一层争议是,是否有必要使用TDD来开发代码的其余部分:标记,客户端代码,用户交互等.我的答案是,如果你已经隔离并测试了其余部分,那就是不值得为此使用TDD的麻烦.
考虑一下:您的页面需要具有特定的外观.您是否要编写一个失败的单元测试来证明您正确使用CSS?要证明您使用的是正确的CSS样式?我不这么认为.
澄清:在TDD中,我们从失败的单元测试开始.然后,我们进行最简单的更改,使测试成功.
想象一下,将TDD用于网页.你会做什么样的失败测试?
并且没有上述测试页面的外观.它们都没有测试页面上任何JavaScript的客户端行为.
我觉得这很傻.而是测试您的DAL方法,该方法根据ID检索数据.确保它返回id为1的正确ID.然后,手动测试页面以确保它看起来正确需要多长时间,您可以输入"1"并单击"Go",以及显示的数据网格是客户1的正确数据?
测试驱动开发和自动化单元测试旨在测试行为.Web表单的UI主要是声明性的.这里有一个很大的"阻抗不匹配".
归档时间: |
|
查看次数: |
7960 次 |
最近记录: |