技能点1自动化测试_第1页
技能点1自动化测试_第2页
技能点1自动化测试_第3页
技能点1自动化测试_第4页
技能点1自动化测试_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自动化测试一、自动化测试1.自动化测试是什么?自动化测试是你当你创建好了一系列测试,在每次应用代码改变后,系统会自动检查出代码是否如你预期般工作。122.为什么需要写测试?·测试将节约你的时间在复杂的应用中,各种组件之间的交互会非常复杂.改变其中某一组件的行为,也可能会造成不可预知的结果。判断「代码是否正常工作」意味着你需要用大量的数据来完整的测试全部代码的功能,以确保你的小修改没有对应用整体造成破坏。自动化测试能在几秒种就工作完成,还能自动定位到错误代码的位置。·测试能发现和预防错误测试能让整个应用的行为目标明确。当有地方出错时会将这些地方显示出来。测试有利于团队协作复杂的应用可能由团队维护。测试的存在保证了你与协作者不会不小心互相破坏了对方的代码。一、自动化测试31.首先先得有个Bug我们的toupiao应用就有一个现成的bug需要被修复:我们的要求是如果Question是在一天之内发布的,Question.was_published_recently()方法将会返回True,然而现在这个方法在Question的pub_date字段比当前时间还晚时也会返回True(这是个Bug)。二、基础测试因为将来发生的是肯定不是最近发生的,所以代码明显是错误的。42.创建一个测试来暴露这个Bug按照惯例,Django应用的测试应该写在应用的tests.py文件里。测试系统会自动的在所有以tests开头的文件里寻找并执行测试代码。将下面的代码写入toupiao应用里的tests.py文件内:二、基础测试5上述可见:创建一个django.test.TestCase的子类,并添加了一个方法,此方法创建一个pub_date时未来某天的Question实例。然后检查它的was_published_recently()方法的返回值——它应该是False。二、基础测试6三、运行测试在终端中,我们通过输入以下代码运行测试:其结果为:7以下是自动化测试的运行过程:pythonmanage.pytesttoupiao将会寻找toupiao应用里的测试代码它找到了django.test.TestCase的一个子类它创建一个特殊的数据库供测试使用它在类中寻找测试方法——以test开头的方法。在test_was_published_recently_with_future_question方法中,它创建了一个pub_date值为30天后的Question实例。接着使用assertls()方法,发现was_published_recently()返回了True,而我们期望它返回False。测试系统通知我们哪些测试样例失败了,和造成测试失败的代码所在的行号。三、运行测试8然后重新运行测试:四、修复这个BUG我们编写了能够暴露bug的自动化测试。在修复bug之后,我们的代码顺利的通过了测试。9Django提供了一个供测试使用的Client来模拟用户和视图层代码的交互。可以在tests.py或是shell中使用。首先在shell中配置测试环境:五、Django测试工具etup_test_environment()提供了一个模板渲染器,可以为responses添加例如response.context的额外的属性,未安

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论