- Pytest教程
- Pytest - 主页
- Pytest - 简介
- Pytest - 环境设置
- 识别测试文件和函数
- Pytest - 从基本测试开始
- Pytest - 文件执行
- 执行测试套件的子集
- 测试名称的子字符串匹配
- Pytest - 对测试进行分组
- Pytest - 装置
- Pytest-Conftest.py
- Pytest - 参数化测试
- Pytest - Xfail/跳过测试
- N 次测试失败后停止测试套件
- Pytest - 并行运行测试
- XML 格式的测试执行结果
- Pytest - 总结
- Pytest - 结论
- Pytest 有用的资源
- Pytest - 快速指南
- Pytest - 有用的资源
- Pytest - 讨论
Pytest - 文件执行
在本章中,我们将学习如何执行单个测试文件和多个测试文件。我们已经创建了一个测试文件test_square.py。使用以下代码创建一个新的测试文件test_compare.py -
def test_greater(): num = 100 assert num > 100 def test_greater_equal(): num = 100 assert num >= 100 def test_less(): num = 100 assert num < 200
现在要从所有文件(这里有 2 个文件)运行所有测试,我们需要运行以下命令 -
pytest -v
上面的命令将从test_square.py和test_compare.py运行测试。输出将生成如下 -
test_compare.py::test_greater FAILED test_compare.py::test_greater_equal PASSED test_compare.py::test_less PASSED test_square.py::test_sqrt PASSED test_square.py::testsquare FAILED ================================================ FAILURES ================================================ ______________________________________________ test_greater ______________________________________________ def test_greater(): num = 100 > assert num > 100 E assert 100 > 100 test_compare.py:3: AssertionError _______________________________________________ testsquare _______________________________________________ def testsquare(): num = 7 > assert 7*7 == 40 E assert (7 * 7) == 40 test_square.py:9: AssertionError =================================== 2 failed, 3 passed in 0.07 seconds ===================================
要从特定文件执行测试,请使用以下语法 -
pytest <filename> -v
现在,运行以下命令 -
pytest test_compare.py -v
上面的命令将仅从文件 test_compare.py 执行测试。我们的结果将是 -
test_compare.py::test_greater FAILED test_compare.py::test_greater_equal PASSED test_compare.py::test_less PASSED ============================================== FAILURES ============================================== ____________________________________________ test_greater ____________________________________________ def test_greater(): num = 100 > assert num > 100 E assert 100 > 100 test_compare.py:3: AssertionError ================================= 1 failed, 2 passed in 0.04 seconds =================================