如何在ASP.NET WebForms中实现TDD
我知道微软推出ASP.NET MVC的原因是为了简化ASP.NET的测试驱动设计(TDD)。但是,我有一个相当大的棕色字段(现有)应用程序在ASP.NET WebForms,我想实现一些TDD类型的功能。我假设有一种方法来做到这一点,但什么是一些可行的选择?
解决方法
Microsoft介绍了ASP.NET MVC,因为他们认为他们可以从一个未开发的市场赚钱 – 那些觉得Web窗体太“重量级”,谁使用更轻量级的框架编程。这包括那些习惯于MVC范式的人。
它还包括那些不能想出如何在Web表单中进行单元测试,以及谁想使用单元测试和TDD的人。 使用Web表单的方式与其他方式一样,是将UI代码分离成类库中的单独类。使用TDD来开发这些类。 下一层的争议是是否有必要使用TDD来开发代码的其余部分:标记,客户端代码,用户交互等。我的回答是,如果你有其他的隔离和测试,不值得为此使用TDD的麻烦。 请考虑:您的网页需要有特定的外观。你要写一个失败的单元测试来证明你正在使用CSS吗?要证明你使用正确的CSS样式?我不这么认为。 澄清:在TDD中,我们从失败的单元测试开始。然后,我们进行最简单的可能的更改,将使测试成功。 想象一下,对于网页使用TDD。你会生产什么失败的测试? >测试该页面是否正确的HTML >“输入ID”标签 >在GET之后测试数据网格是否为空 并且没有上述测试的页面的外观。它们都不会测试页面上任何JavaScript的客户端行为。 我认为这很蠢。而应测试根据ID检索数据的DAL方法。确保它返回ID为1的正确的ID。然后,手动测试页面以确保它看起来正确需要多长时间,您可以输入“1”并单击“Go”,并且出现在网格是客户1的正确数据? 测试驱动开发和自动化单元测试旨在测试行为。 Web表单的UI主要是声明性的。这里有一个大的“阻抗不匹配”。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – MVC 3 WebGrid – 可以进行内联编辑吗?
- 在ASP.NET站点中将.Net 2.0与.Net 4.0混合使用
- asp.net-mvc-3 – 实体框架将float数据类型映射为double
- asp.net-core – appsettings.json中ConnectionString中的S
- asp.net-mvc – MVC应用程序调试错误:viewstate MAC的验证
- asp.net – 使用带有模拟的Windows身份验证的Web应用程序的
- Linq高级查询
- asp.net-mvc – 在ASP.NET MVC中上传多个图像文本字段
- asp.net – UrlRewriting.Net模块IIS7等于Page.User == nul
- asp.net – 即使在IIS的web.config中使用标签后,也会出现重
- asp.net-mvc – 导出Excel文件以查看(MVC)
- asp.net-mvc – 如何为mvc应用程序中的所有控制器
- .net – SqlBulkCopy超时
- asp.net – 操作无法完成. FORMATETC结构无效
- ASP.Net MVC路线映射
- asp.net – LinkBut??ton不会在click()上调用
- asp.net-mvc – StringLength / Minlength验证不
- asp.net – (.NET Core 1.0 \u0026\u002
- asp.net – 如何在DotVVM viewmodel中创建会话变
- asp.net-mvc – .NET MVC MultiSelectList和选定