本文介绍: tox 是一个通用的 Python 虚拟环境管理和测试命令行工具,旨在自动化和标准化 Python 测试。它是简化 Python 软件的打包、测试和发布过程的更大愿景的一部分。大多数项目都使用它来确保软件在多个 Python 解释器版本之间的兼容性。根据配置创建基于多个版本的 python 虚拟环境,并且保证这些虚拟环境的可复制性(需要与 poetry 或者其它依赖管理工具一起)。在多个环境中运行测试和代码检查工具,比如 pytest 和 flake8, black, mypy 等。隔离环境变量。
4. Coverage – 衡量测试的覆盖率
我们已经掌握了如何进行单元测试。接下来,一个很自然的问题浮现出来,我们如何知道单元测试的质量呢?这就提出了测试覆盖率的概念。覆盖率测量通常用于衡量测试的有效性。它可以显示您的代码的哪些部分已被测试过,哪些没有。
coverage.py 是最常用的测量 Python 程序代码覆盖率的工具。它监视您的程序,记录代码的哪些部分已被执行,然后分析源代码以识别已执行和未执行的代码。
我们可以通过下面的方法来安装 coverage.py:
要收集测试覆盖率数据,我们只需要在原来的测试命令前加上 coverage run 即可。比如,如果我们之前是使用pytest arg1 arg2 arg3
来进行测试,则现在我们使用:
当测试运行完成后,我们可以通过coverage report -m
来查看测试覆盖率的报告:
如果希望得到更好的视觉效果,也可以使用 coverage html 命令来生成带注释的 HTML 报告,然后在浏览器中打开 htmlcov/index.html。
4.1. 配置 Pycoverage
4.2. 发布覆盖率报告
5. TOX 实现矩阵测试
5.1. 什么是 Tox?
5.2. Tox 的工作原理
5.3. 如何配置 Tox
5.3.1. [tox] 节
5.3.2. [testenv]
5.3.3. [testenv.lint]
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。