繁体   English   中英

我如何单元测试这个简单的表格

[英]How Do I Unit Test This Simple Form

我正在尝试理解为简单场景编写单元测试,并且找不到任何简单的东西。 假设我有一个包含以下两个表单字段的Web表单:

FirstName
LastName

在后端,我有这个课:

class User
{
   public string FirstName {get;set;}
   public string LastName {get;set}
}

这些表单字段映射到然后我用普通的旧ADO.NET(没有框架)保存到数据库。 我没有验证,只是通过INSERT语句保存它。

单元测试在哪里适用? 我写什么单元测试? 这甚至值得测试吗? 如果我有DID验证功能,那么我可以测试那些,对吗?

谢谢。

您并没有真正对表单和UI进行单元测试。 您要做的是将UI分为两部分:呈现并返回给客户端的HTML,以及服务器端部分。 这实际上是集成测试的一部分,而不是单元测试。 请注意,尽管它不是单元测试,但您仍然可以完全自动化集成测试(这只是意味着像NUnit这样的单元测试框架并不合适,您需要自己制作工具)。

您可以通过获取HTML并通过HTML分析器(如HtmlAgilityPack)运行HTML来测试客户端部分,并确保页面中的所有URI返回200并且所有表单字段都带有正确的name=""属性。

然后,您可以单独测试服务器端部件,方法是使用样本数据提交POST表单请求,然后直接检查数据库并确保新提交的数据现在以正确的格式存储在数据库中。 您可以使用专用的测试数据库,因为针对生产数据库运行测试工具绝不是一个好主意。

我不能告诉你是否值得为你的应用程序编写自动化测试 - 它通常需要花费尽可能多的时间,如果不是更多,编写应用程序代码。 您这样做是为了确保在安全关键或关键任务系统中最重要的正确性。 一个简单的问题是“如果我的程序不正确,人们会死亡/受伤还是会有人赔钱?”,如果答案是肯定的,那么你应该这样做。

像这样的测试也可用于运行应用程序以监控“应用程序运行状况”。 例如,我编写的一个应用系统与公共电话系统接口,因此我需要编写一个测试仪来确保应用程序成功拨打电话。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM