霍格沃兹测试学院_第八期-Python 之 unittest+pytest _20190217

课程重点

单元测试

  • 单元测试的度量方法
    语句覆盖
    判断覆盖
    条件覆盖
    路径覆盖
  • 应用单元测试的度量方法,提高测试设计覆盖率

unittest

  • unittest的编写规范
    测试模块必须首先导入unittest
    测试类必须继承unitest.TestCase
    测试方法必须test_*开头
    模块,类名字没有要求
  • setUp tearDown
    setUp, tearDown的作用范围: 方法、类、模块

pytest

最好的Python自动化测试框架

  • pytest的编写规范
    测试文件以test_
    测试类必须以Test开头
    测试方法必须test_*开头
    - 第三方组件的使用
    - 参数化测试用例
    - 多个assert的实现
    - 自动rerun失败的测试用例
    - marks的使用
    - fixtures的使用,三种调用方法

allure

- Allure的安装
- Allure产生测试报告
- Allure的特性特性。 feature/story, step, testcase, step, severity

典型的测试工具目录结构

作业

下载这个项目的源代码。https://github.com/lxneng/xpinyin
注意不是用pip安装哦。

  1. 使用pytest实现对get_pinyin, get_initial, get_initials的单元测试
  2. 至少一个测试用例用上pytest.mark.parametrize方法
  3. 三个方法的行覆盖率要达到80%(什么工具?)
  4. 使用allure生成测试报告,要求使用上allure的feature, story , step, attach方法,attach可以使用一个固定的图片即可。
    工程目录结构如下,测试代码写到testcases/pinyin目录下。