Qunit学习(二)——dataset
来源:互联网 发布:金卡支票打印软件 编辑:程序博客网 时间:2024/06/06 08:41
dataset:qunit测试中一般要给数据库中预存一些数据以辅助测试,比如修改,删除等操作。这些数据以xml文件进行配置,以表名命名。我们以user.xml为例。
1.因为修改用户涉及到权限的问题,所以prepareData引入user.xml的同时,也要引入userRole.xml。当修改别人的信息时,要提示权限不够信息。
<?xml version="1.0" encoding="UTF-8"?><dataset> <user id="13" username="tom" password="1f22f6ce6e58a7326c5b5dd197973105" status="0" create_time="2014-06-22 20:36:48" last_login="2014-06-30 14:47:13" gender="1" name="tom hanks" phone="13164235801" qq="913415854" dept="" rtx="" co_email="" user_email="tom_hanks@sina.com" hometown="山东" hobby="动漫" address="北京" house_status="0" description="" area="200" head_photo="" /> <user id="16" username="yuliang" password="1f22f6ce6e58a7326c5b5dd197973105" status="0" create_time="2014-06-22 20:36:48" last_login="2014-06-30 14:47:13" gender="1" name="yuliang" phone="13164235801" qq="913415854" dept="" rtx="" co_email="" user_email="yuliang@126.com" hometown="山东" hobby="动漫" address="北京" house_status="0" description="" area="200" head_photo="" /></dataset>
本配置文件中,插入了两条user数据。在写自动化case的时候,在case开头引入即可,每次运行case,user表的数据都会清空,并将user.xml中定义的数据插入数据库。
<prepareData file="dataset/user.xml"/>
<testcase id="userInfoTest" desc="修改用户个人资料测试"> <include file="cases/template.xml"/> <data-case id="modifyUserInfo" desc="修改用户资料" tag="modifyUserInfo"><span style="color:#FF0000;"> <prepareData file="dataset/user.xml"/> <prepareData file="dataset/userRole.xml"/></span> <step ref="login_yuliang"/> <call service="modifyUserInfo"> <param username="${username}"/> <param gender="${gender}"/> <param name="name">"yuliang"</param> <param phone="${phone}"/> <param qq="${qq}"/> <param rtx=""/> <param userEmail="${userEmail}"/> <param hometown="${hometown}"/> <param hobby="${hobby}"/> <param address="${address}"/> <param houseStatus="${houseStatus}"/> <param description="${description}"/> <param area="${area}"/> <param headPhoto="${headPhoto}"/> </call> <assert> <status value="200"/> <body> <![CDATA[ {"status":${status}, "message":${message}, "data":null } ]]> </body> </assert> <data> <default> <param username="yuliang"/> <param gender="1"/> <param name="name">"yuliang"</param> <param phone="13164235801"/> <param qq="13164235801"/> <param rtx=""/> <param userEmail="yuliang.jin@126.com"/> <param hometown="山东"/> <param hobby="动漫"/> <param address="山东"/> <param houseStatus="0"/> <param description=""/> <param area="200"/> <param headPhoto=""/> </default> <tr> <param address="河北"/> <param status="0"/> <param message="null"/> </tr> <tr> <param status="-1"/> <param gender="3"/> <param name="message">"性别输入错误"</param> </tr> <tr> <param status="-1"/> <param qq="0"/> <param name="message">"QQ号码长度或格式错误"</param> </tr> </data> </data-case></testcase>
1.因为修改用户涉及到权限的问题,所以prepareData引入user.xml的同时,也要引入userRole.xml。当修改别人的信息时,要提示权限不够信息。
2.data中default的目的时,当我们测试某一字段是否合法时,将其它字段设为默认值,这样就其他字段就不会干扰待测字段的测试。
3.prepareData中的值是数据库表中初始值,如果case执行没有完成数据更新(不是指case不通过,只要断言正确case就算通过,但是数据库数据不一定修改),case中定义的default值就不会被更新到数据库。另外,多个case(<tr>标签标识)执行时,每一个都会重新导入prepareData,因此前面case的操作结果不会体现在数据表中。数据表中保留最后一个case执行的结果。当然如果最后一个case没有对数据库表进行更新或者更新失败,表的数据保留上一case的操作结果。以此类推。
4.case中data default的值可以和原始表中的值不一样,一般为了测试某一个字段的数据是否合法,最好默认值和数据库中的一致。如果不一致,就必须保证合法,这样才不会干扰待测字段的正确测试。
0 0
- Qunit学习(二)——dataset
- Qunit学习(一)
- 【qunit】学习记录
- QUnit——对JavaScript 进行单元测试的利器
- 测试函数JavaScript单元测试工具使用—QUnit
- GP学习(八)—How to access a raster dataset and to create a raster dataset
- C# 2008 学习笔记 - LINQ to ADO.NET(二)- LINQ to DataSet
- DataSet 类 (二) 读取数据
- DataSet学习
- dataset学习
- QUnit源码阅读(1):工具函数
- 【黑马程序员】SqlDataReader, DataSet(学习笔记)
- asp.net Dataset() 基础学习
- 机器学习:RadioML(3)_Generate dataset
- DataSet(二) 读取数据
- DataSet用法(二)
- 解Dataset含多表之谜——DataSet中的relation
- spark源码阅读笔记Dataset(二)Dataset中Actions、function、transformations
- find: `dos2unix': No such file or directory
- JSTL版本错误的解决-"This absolute uri (http://java.sun.co
- nginx源码分析—hash结构
- 单元测试/集成测试/系统测试的区别
- MySQL计划任务(事件调度器)(Event Scheduler)
- Qunit学习(二)——dataset
- ArcEngine01
- 查看mysql版本号及端口号的方法
- 【Unity 3D】学习笔记二十七:unity游戏脚本(七)
- 查找最小的k 个元素
- Android中利用OpenMax 编程的基本流程
- 网络编程--Socket抽象理解
- Android之界面刷新(invalidate和postInvalidate使用)
- 浅谈Android五大布局