HttpHandler如何做单元测试

shiweiwei1997 2008-03-11 05:58:44
HttpHandler实现的功能基本上是将后台数据库的数据以JSON格式返回,其中包含Session的检测。
现在希望能够对所有HttpHandler编写单元测试,测试的要点是:
1. Session检测是否有效
2. 返回数据的内容和格式是否符合预期

不知道大家有没有做过类似的测试,请指教。
...全文
152 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiweiwei1997 2008-03-13
  • 打赏
  • 举报
回复
没有比较好的答案,准备结贴。

我自己的解决方法,供大家参考吧。
用JavaScript对HttpHandler发送请求,对返回的结果进行验证。JavaScript的单元测试框架,找了两个比较不错的,JsUnit和script.aculo.us的单元测试框架。我后来选择了后者,主要原因是用起来比较简单,对prototype.js的用法也比较熟悉。
shiweiwei1997 2008-03-13
  • 打赏
  • 举报
回复
没有比较好的答案,准备结贴。

我自己的解决方法,供大家参考吧。
用JavaScript对HttpHandler发送请求,对返回的结果进行验证。JavaScript的单元测试框架,找了两个比较不错的,JsUnit和script.aculo.us的单元测试框架。我后来选择了后者,主要原因是用起来比较简单,对prototype.js的用法也比较熟悉。
shiweiwei1997 2008-03-13
  • 打赏
  • 举报
回复
没有比较好的答案,准备结贴。

我自己的解决方法,供大家参考吧。
用JavaScript对HttpHandler发送请求,对返回的结果进行验证。JavaScript的单元测试框架,找了两个比较不错的,JsUnit和script.aculo.us的单元测试框架。我后来选择了后者,主要原因是用起来比较简单,对prototype.js的用法也比较熟悉。
shiweiwei1997 2008-03-13
  • 打赏
  • 举报
回复
没有比较好的答案,准备结贴。

我自己的解决方法,供大家参考吧。
用JavaScript对HttpHandler发送请求,对返回的结果进行验证。JavaScript的单元测试框架,找了两个比较不错的,JsUnit和script.aculo.us的单元测试框架。我后来选择了后者,主要原因是用起来比较简单,对prototype.js的用法也比较熟悉。
jy147154 2008-03-12
  • 打赏
  • 举报
回复
看答案~
shiweiwei1997 2008-03-12
  • 打赏
  • 举报
回复
有没有办法编写代码做单元测试,我们需要做自动化的测试。
zhuanshen712 2008-03-11
  • 打赏
  • 举报
回复
顶。
wsklt 2008-03-11
  • 打赏
  • 举报
回复
設斷點,
F5

一般我們都是將要測試的數據打印出來,這樣測試的
编号 标题 内容 一 NET开发基础 .NET Framework概述 VS2008开发环境 C#语言及编码规范 面向对象开发初步 接口和类的设计 SQL语句,存储过程 二 .NET框架&C#编程 面向对象的基本知识体系 .NET中的面向对象设计与应用 C#与设计模式 泛型 C#中的新特性 程序集 .NET应用程序部署和版本控制 委托和事件 线程 反射 对象序列化 数据流和文件 Internet访问与网络编程 EventLog MSMQ Remoting 与COM的交互 Windows Service 三 ADO.NET 数据库连接与连接池控制 执行数据操作命令 DataReader DataSet ADO.NET中的数据更新 多活动结果集 批量复制 ADO.NET中的异步处理 事务处理机制 LINQ 案例分析:采用N层架构和分布式的大型图书系统 四 Web应用(ASP.NET&XML; WebService ASP.NET 页面控制机制及编译模型,页面周期,常用控件,自定义控件,用户控件   MasterPage,主题与皮肤,站点导航,数据源控件,数据绑定   AJAX,数据缓存,个性化用户配置,Web部件,成员资格与角色管理   自定义HttpHandlerHttpModule,综合站点设计,N层架构设计 XML   XMLDocument,XML Reader & Writer   XML XPATH,XML XSLT,XML Schema   XML & ADO.NET,XML & 配置文件   XML序列化 Web Service   WSDL,SOAP,UDDI,生成XML Web Service   Web Service中的异步调用,状态管理   事务处理,安全性,自定义身份验证 Visual Studio Team System 中的单元测试与Web测试 案例分析:基于.NET2.0的大型电子商务系统 五  Windows 应用(Windows Forms) 创建Windows应用程序 主要Windows控件与自定义控件 WinForm中的数据处理 多文档界面 打印功能 GDI+ WinForm中的异步编程 资源文件与国际化开发 部署方案(ClickOnce)
一个用于Web游戏中的即时聊天代码 使用内存进行消息投递 支持私聊和供聊 支持统计在线人数 可开多个房间 注意:有人反映这个不能直接使用,在这里特一下说明 =============================================== 这个程序是从游戏中拿出来的,并不是一个独立的应用程序 发上去的部分是不能直接运行的,发出来的目的只是想给有这方面兴趣的朋友个参考,因为我自己才这块的时候确实走了不少弯路 里面有类设计图,类设计图是用powerdesign 12.5设计的 可以通过类设计图看服务端的设计 客户端是一个demo html文件 要运行还需要配数据库,还需要微软的企业库开发包 不了解企业库的可以去这里看看 http://www.codeplex.com/entlib 你也可以修改一下代码让程序不需要访问数据库 访问数据库主要是加载房间信息,你可以在代码里弄几个模拟的房间信息 聊天消息的中专是不依赖数据库的 ====================================== 再次补充说明 这个代码的开发环境为:vs2008+sqlserver2005+微软企业库+net fwk3.5 其实用vs2005+2.0框架也可以,虽然使用的是3.5的框架,但是并没有使用3.5框架的新特性 经检查发现里面确实没有类设计图,也没有服务器端的源代码 现在传上去的这部分只是一个demo,包含客户端和编译过的服务器端代码 非常的抱歉,我将不上源代码和相关设计文件 =========================================================== 目录结构说明 ChatDemo-包含客户端和编译过的服务器端 ChatDemo/ChatDemo.HttpHandler-客户端http处理器(客户端和服务器端的交互就靠这些文件了) ChatDemo/ChatWebDemo-客户端的实现代码 ChatDemo/ChatWebDemo/ServerManager.aspx-此文件可控制服务器的启动和关闭(客户端和服务器端是存在于同一台电脑上测试的,所以在一个工程里) ChatDemo/ChatWebDemo/SelectChatRoom.aspx-可选择进入哪一个聊天室 ChatDemo/ChatWebDemo/Chat.aspx-聊天客户端界面 DinosaurEmpery-包含服务器端的源代码和相关设计文档-数据库文档等 DinosaurEmpery/src-服务端源代码和单元测试相关资料 DinosaurEmpery/src/Chat DinosaurEmpery/src/IChat 这两个才是聊天部分的代码,其它目录为游戏其它部分的代码(只是部分代码,是不能运行的) DinosaurEmpery/using-程序中用引用到到第3方dll(微软企业库)(由于压缩后的结果代码太大,所以删除了里面的内容)
基 础 知 识. 第1章 asp.net介绍 2 1.1 xhtml语言 2 1.2 静态网页 3 1.3 动态网页 3 1.4 iis的安装和配置 3 1.5 asp.net开发的预备知识 4 1.5.1 asp.net简介 4 1.5.2 在iis上配置asp.net 4 1.5.3 visual studio版本与 1.5.3 .net framework版本及 1.5.3 asp.net版本之间的关系 7 1.5.4 asp.net运行内幕 7 1.6 结论 9 第2章 asp.net基础 10 2.1 request对象 10 2.2 response对象 11 2.3 server对象 13 2.4 session对象 14 2.5 cookie对象 15 .2.6 application对象 16 2.7 viewstate对象 18 2.8 [%%]表达式 20 2.9 [%=%]表达式 20 2.10 目录运算符 22 2.11 总结 22 第3章 表单和控件 23 3.1 html表单的提交方式 23 3.2 html控件 25 3.3 获取html控件的值 25 3.4 sql注入 26 3.5 乱码问题 26 3.6 服务器端表单 28 3.7 html服务器控件 28 3.8 总结 31 第4章 visual studio 2008介绍 32 4.1 visual studio 2008网站 4.1 开发环境介绍 32 4.2 asp.net网站类型介绍 33 4.3 创建基于解决方案的asp.net 4.3 应用程序 35 4.4 asp.net内置文件夹介绍 36 4.5 xml注释 37 4.6 任务管理器 38 4.7 配置外部工具 39 4.8 代码段管理器 40 4.9 发布asp.net网站 44 4.10 总结 45 第5章 page类和回调技术 46 5.1 page类介绍 46 5.1.1 单文件页模型 46 5.1.2 代码隐藏页模型 48 5.2 asp.net页面的生命周期 50 5.3 利用page的事件进行统一 5.3 身份验证 52 5.4 ispostback属性 54 5.5 validaterequest属性 55 5.6 clientscript属性 56 5.7 回调技术 60 5.8 总结 67 第6章 asp.net基本控件 68 6.1 asp.net服务器控件简介 68 6.2 button控件 69 6.3 textbox控件 75 6.4 asp.net服务器控件的特殊 6.4 客户端事件 78 6.5 fileupload控件 81 6.6 literal控件 84 6.7 panel控件 86 6.8 placeholder控件 88 6.9 总结 89 第7章 ado.net介绍 90 7.1 ado.net简介 90 7.2 connection对象 93 7.3 command对象 100 7.4 datareader对象 101 7.5 dataadapter对象 105 7.6 dataset对象 105 7.7 datatable对象 108 7.8 参数化sql语句 110 7.9 分页查询sql语句 111 7.10 总结 114 第8章 数据绑定控件 115 8.1 dropdownlist控件 116 8.2 listbox控件 118 8.3 数据绑定表达式 120 8.4 gridview控件 122 8.5 datalist控件 133 8.6 repeater控件 136 8.7 form view控件 138 8.8 detailsview控件 141 8.9 总结 144 第9章 验证控件 145 9.1 数据验证介绍 145 9.2 客户端脚本验证 146 9.3 asp.net验证控件概述 148 9.4 requiredfieldvalidator控件 149 9.5 comparevalidator控件 151 9.6 rangevalidator控件 155 9.7 正则表达式 157 9.8 regularexpressionvalidator控件 159 9.9 customvalidator控件 161 9.10 validationsummary控件 165 9.11 分组验证技术 167 9.12 总结 170 第10章 复合控件和母板页 172 10.1 treeview控件 172 10.2 multiview控件 176 10.3 用javascript方式实现 10.3 选项卡式效果 181 10.4 wizard控件 186 10.5 masterpage母板页 190 10.6 总结.. 194 进 阶 知 识 第11章 web.config详解 196 11.1 配置文件的查找算法 196 11.2 配置文件节点介绍 198 11.2.1 [configsections]节点 198 11.2.2 [appsettings]节点 199 11.2.3 [connectionstrings]节点 199 11.2.4 [location]节点 199 11.2.5 [system.web]节点 200 11.3 配置文件的读/写操作 209 11.4 总结 213 第12章 asp.net底层探秘 214 12.1 asp.net底层之旅 214 12.2 ihttpmodule接口 217 12.3 httpapplication及global.asax 220 12.4 ihttphandler接口 224 12.4.1 实现自定义文件类型处理 224 12.4.2 给图片动态添加水印功能 226 12.4.3 防盗链功能 229 12.5 在iis中配置自己编写的 12.5 httphandler 236 12.6 总结 237 第13章 asp.net中的ajax开发 238 13.1 纯javascript开发ajax应用 238 13.2 第三方(ajaxpro)开发 13.2 ajax应用 246 13.3 微软ajax控件库开发ajax应用 254 13.3.1 scriptmanager控件 254 13.3.2 scriptmanagerproxy控件 255 13.3.3 updatepanel控件 255 13.3.4 timer控件 259 13.3.5 updateprogress控件 260 13.4 总结 265 第14章 分布式开发 266 14.1 分布式计算的概念 266 14.2 xml web service开发 266 14.2.1 xml web service介绍 266 14.2.2 xml web service服务器端 14.2.2 开发及部署 268 14.2.3 webservice的部署 270 14.2.4 webservice客户端开发 272 14.2.5 异步调用webservice 274 14.3 wcf开发 276 14.3.1 定义wcf服务契约和引入 14.3.1 wcf服务契约 277 14.3.2 构架wcf服务,运行wcf 14.3.1 服务 281 14.3.3 生成wcf服务代理的 14.3.1 代码文件 283 14.3.4 客户端访问wcf 285 14.3.5 运行程序 286 14.4 总结 286 第15章 asp.net中的三层架构 287 15.1 数据库通用类 287 15.1.1 sql server数据库访问 15.1.1 通用类 288 15.1.2 using关键字的用法 293 15.2 三层架构的定义及代码示例 294 15.3 三层架构的特点 309 15.4 对三层架构的一点扩充 309 15.5 总结 310 第16章 单元测试 311 16.1 nunit简介 311 16.2 nunit界面介绍 312 16.2.1 file菜单 312 16.2.2 project菜单 313 16.3 nunit api介绍 313 16.4 利用nunit进行单元测试 318 16.5 其他的单元测试软件 320 16.6 总结 321 第17章 asp.net中的gdi+技术 322 17.1 gdi+介绍 322 17.2 在数据中保存和显示图片 323 17.3 使用gdi+生成图片 330 17.4 验证码实现 331 17.5 总结 335 高 级 知 识 第18章 asp.net报表技术 338 18.1 owc控件的使用 338 18.2 zedgraph控件的使用 344 18.3 rdlc报表的使用 349 18.4 总结 355 第19章 .net的文件io体系和静态页面生成技术 356 19.1 .net中的文件体系 356 19.1.1 driveinfo类 356 19.1.2 directory及directoryinfo类 359 19.1.3 file及fileinfo类 362 19.1.4 path类 366 19.2 .net中的io体系 369 19.2.1 基于字节的流 369 19.2.2 基于字符的流 373 19.3 静态页面生成技术 378 19.3.1 为什么要生成静态页面 378 19.3.2 什么时候生成静态页面 379 19.3.3 如何生成静态页面 379 19.4 总结 387 第20章 数据安全技术 388 20.1 自定义加密 388 20.2 对称加密 391 20.3 不对称加密 398 20.4 加密签名 402 20.5 加密哈希 403 20.6 总结 406 第21章 asp.net网站的性能优化 407 21.1 程序编码优化 407 21.1.1 集合操作 407 21.1.2 字符串连接优化 410 21.1.3 类型转换优化 413 21.1.4 使用server.transfer()方法 414 21.1.5 避免不必要的服务器往返 414 21.1.6 尽早释放对象 415 21.1.7 尽量减少服务器控件的使用 415 21.2 数据操作优化 415 21.2.1 数据库连接对象使用优化 415 21.2.2 数据访问优化 416 21.2.3 优化sql语句 416 21.2.4 合理使用缓存 416 21.3 配置优化 420 21.3.1 禁用调试模式 420 21.3.2 合理使用viewstate 420 21.3.3 合理选择会话状态数据 21.3.3 存储模式 423 21.4 总结 424 第22章 综合实例 425 22.1 项目介绍 425 22.2 数据库设计 426 22.3 实体层设计 429 22.4 数据访问层设计 433 22.5 业务逻辑层设计 441 22.6 网站项目和单元测试项目说明 447 22.7 总结... 448

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧