- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
理解 DataSet (数据集)和 DataTable (数据表)
理解 DataSet (数据集)和 DataTable (数据表)
PHPUnit 的数据库扩展模块的核⼼概念是 DataSet (数据集)和 DataTable (数据
表)。为了掌握如何使⽤ PHPUnit 进⾏测试 需要试着去了解这些简单的概念。
DataSet (数据集)和 DataTable (数据表)是围绕着数据库表、⾏、列的抽象层。通
过⼀套简单的API 底层数据库内容被隐藏在对象结构之下 同时 这个对象结构也
可以⽤其他⾮数据库数据源来实现。
为了能⽐较实际内容和预期内容 这种抽象是必须的。预期内容可以⽤诸如 XML 、
YAML 、 CSV ⽂件或者 PHP 数组等⽅式来表达。DataSet 和 DataTable 接⼜以语义相
似的⽅式模拟关系数据库存储 从⽽能够对这些概念上完全不同的数据源进⾏⽐较。
在测试中 数据库断⾔的⼯作流由以下三个简单的步骤组成:
⽤表名称来指定数据库中的⼀个或多个表 (实际上是指定了⼀个数据集)
⽤你喜欢的格式 (YAML 、XML等等)来指定预期数据集
断⾔这两个数据集陈述是彼此相等的。
在 PHPUnit 的数据库扩展中 断⾔并⾮唯⼀使⽤ DataSet 和 DataTable 的情形。就像
上⼀节中所展⽰的那样 它们也⽤于描述数据库的初始内容。数据库 TestCase 类强制
要求定义⼀个基境数据集 随后⽤它来:
根据此数据集所指定的所有表名 将数据库中对应表内的⾏全部删除。
将数据集内数据表中的所有⾏写⼊数据库。
可⽤的各种实现
有三种不同类型的 DataSet/DataTable :
基于⽂件的 DataSet 和 DataTable
基于查询的 DataSet 和 DataTable
筛选与组合 DataSet 和 DataTable
基于⽂件的数据集和表⼀般⽤于初始化基境或描述数据库的预期状态。
Flat XML DataSet (平直 XML 数据集)
最常见的⼀种数据集名叫 Flat XML 。这是⼀种⾮常简单的 XML 格式 根节点为
dataset 根节点下的每个标签就代表数据库中的⼀⾏数据。标签的名称就等于
表名 ⽽每个属性代表⼀个列。⼀个简单的留⾔本应⽤程序的例⼦⼤致上可能是这
样:
?xml version=1.0 ?
dataset
guestbook id=1 content=Hello buddy ! user=joe created=
guestbook id= content=I like it! user=nancy created=
/dataset
显然 这⾮常易于编写。在这⾥ guestbook 是表名 这个表内有两⾏记录 每
⾏有四个列:“id”、“content”、“use ” 和 “c eated” 以及各⾃的值。
不过 这种简单性是有代价的。
从上⾯这个例⼦⾥不太容易看出该如何指定⼀个空表。其实可以插⼊⼀个没有属性值
的标签 以空表的名字作为标签名。空的 guestbook 表所对应的 Flat XML ⽂件⼤致上
可能是这样:
?xml version=1.0 ?
dataset
guestbook /
/dataset
在 Flat XML DataSet 中 要处理 NULL 值会⾮常烦。在⼏乎所有数据库中 (O acle 是
个例外) NULL 值和空字符串值是有区别的 这⼀点在 Flat XML 格式中很难表
述。可以在数据⾏的表述中省略掉对应的属性来表⽰NULL值。假定上⾯这个留⾔本
通过在 use 列使⽤ NULL 值的⽅式来允许匿名留⾔ 那么 guestbook 表的内容可能是
这样:
?xml version=1.0 ?
dataset
guestbook id=1 content=Hello buddy ! user=joe created=
guestbook id= content=I like it! created= 010-04- 6 1 :
/dataset
在这个例⼦⾥第⼆个条⽬是匿名发表的。但是这为列的识别带来了⼀个⾮常严重的问
题。在数据集相等断⾔的判定过程中 每个数据集都需要
您可能关注的文档
- 机械加工过程中金属清洗.pdf
- 机械设计基础 第七篇螺纹连接.ppt
- 机械原理1-3篇包含课后答案.doc
- 机械原理课件-第八节.ppt
- 机械装备第1、2节.ppt
- 机载LiDAR数据城区树木点提取方法.pdf
- 激光清洗原理及应用研究.pdf
- 激励机制及约束机——讲座.ppt
- 棘孢曲霉β-葡萄糖苷酶I的毕赤酵母多拷贝体系构建和在其高密度发酵表达.pdf
- 检测与结束死锁.doc
- 2025教资考试政治专项训练.docx
- 2025春招冲刺押题试卷及答案.docx
- 2024年新人教版7年级上册历史全册课件(新版教材).ppt
- 2025河南二建专项训练题.docx
- 2025年《综合素质》教师证模拟测试题集.docx
- 伊犁师范大学《中医诊断学实验》2023-2024学年第一学期期末试卷.doc
- 广东省深圳实验学校2024-2025学年八上物理期末检测试题含解析.doc
- 2024-2025学年广东省中学山市板芙镇初三下学期第三次月考化学试题文试题含解析.doc
- 2025年部编版四年级科学上册测试卷含答案.docx
- 甘肃省武威市民勤五中学2024-2025学年数学七年级第一学期期末联考试题含解析.doc
最近下载
- 课题申报参考:新时代家校社体育课程资源一体化整合的运行机理与治理路径研究.docx VIP
- 2024年10月 高等教育自学考试 真题 制单结汇与报关实务 14675.pdf VIP
- 国开一网一 公共危机管理(本)形考任务二答案.doc VIP
- 超星尔雅学习通《中国近现代史纲要(李松林版)》章节测试答案满分版.doc VIP
- 2024年未来健康空间生态产业发展白皮书.pdf VIP
- 城市地理学试题.docx VIP
- Ideas_for_IELTS_topics_(考官Simon雅思写作).pdf
- 血气胸的课件.pptx VIP
- 第29课 中国特色社会主义进入新时代 课件(共27张PPT) 2024-2025学年统编版高中历史(必修)中外历史纲要(上).pptx VIP
- 交通警察道路执勤执法安全防护课件.pptx VIP
原创力文档


文档评论(0)