1.单元测试框架

1.什么是单元测试框架

单元测试是指在软件开发中,针对软件的最小单位(函数、方法)进行正确性的检查测试。

2.常见的单元测试框架

java
- junit
- testng
python
- pytest
- unittest

3.单元测试框架的作用

image.png

  1. 测试发现:从多个文件里面去找到我们的TestCase。
  2. 测试执行:按照一定的顺序和规则去执行,并生成测试结果。
  3. 测试判断:通过断言判断预期结果与实际结果的差异。
  4. 测试报告:统计测试进度、耗时、通过率,最终生成测试报告。

    2.自动化测试框架

    1.什么是自动化测试框架

    由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。

    2.自动化测试框架的作用

  5. 提高测试效率,降低维护成本。

  6. 减少人工干预,提高测试的准确性,增加代码的重用性。
  7. 核心思想:让不懂代码的人也能够,通过这个框架去实现自动化测试。

    2.“单元测试框架”与“自动化测试框架”的关系

  8. “单元测试框架”只是“自动化测试框架”的一部分。

  9. “自动化测试框架”包含:单元测试框架、数据驱动/关键字驱动、断言、报告邮件………

3.pytest测试框架简述

1.pytest的优点

  1. pytest是一个很成熟的单元测试框架,比unittest更加灵活、容易上手。
  2. pytest的组合搭配性强:
    • pytest+selenium【Web UI自动化】
    • pytest+appnium【移动端UI自动化】
    • pytest+requests【接口自动化】
  3. pytest能实现“TestCase的skip跳过”和“rerun重跑失败的TestCase”。【即unittest不具备此功能】
  4. pytest能简单与allure2进行整合,而成生成“美观的测试报告”。
  5. pytest能简单与jenkins进行整合【jenkins提供pytest的插件】。
  6. pytest有丰富的插件库: | 编号 | 分类 | 插件 | 功能 | | —- | —- | —- | —- | | 1 | 单元测试框架 | pytest | python的单元测试框架【中文文档】 | | 2 | 测试进度可视化 | pytest-sugar | 改变了pytest的默认外观,增加了一个进度条,并立即显示失败的测试 | | 3 | 测试报告 | allure-pytest | 携带“强大的装饰器”能输出更加美观的测试报告 | | 4 | | pytest-html | 输出简易版的html格式的测试报告 | | 5 | 断言 | pytest-assume | 支持多重断言【不会因为断言失败而break,直到执行完所有断言】 | | 6 | | pytest-check | 比assest更高级 | | 7 | 用例重跑 | pytest-rerunfailure | 支持“失败TestCse的重跑功能” | | 8 | 执行顺序 | pytest-ordering | 设定TestCase的执行顺序 | | 9 | 分布式执行 | pytest-xdist | 分布式(多CPU)执行TestCase,减少总执行的时间 | | 10 | 重复执行 | pytest-repeat | 重复执行指定的TestCse |

【学习网址】https://www.cnblogs.com/longronglang/category/1859053.html?page=2

2.pytest VS unittest

【参考】Python 自动化测试框架unittest与pytest的区别

3.pytest的命名规则

image.png

参考

Pytest(思维导图)