Pytest 简明教程
Pytest - Starting With Basic Test
现在,我们将从第一个 pytest 程序开始。我们将首先创建一个目录,然后在目录中创建我们的测试文件。
让我们按照以下所示的步骤进行 −
-
创建一个名为 automation 的新目录并在命令行中导航到该目录。
-
创建一个名为 test_square.py 的文件,并将以下代码添加到该文件中。
import math
def test_sqrt():
num = 25
assert math.sqrt(num) == 5
def testsquare():
num = 7
assert 7*7 == 40
def tesequality():
assert 10 == 11
使用以下命令运行测试 −
pytest
上述命令将生成以下输出 −
test_square.py .F
============================================== FAILURES
==============================================
______________________________________________ testsquare
_____________________________________________
def testsquare():
num=7
> assert 7*7 == 40
E assert (7 * 7) == 40
test_square.py:9: AssertionError
================================= 1 failed, 1 passed in 0.06 seconds
=================================
查看结果的第一行。它显示了文件名称和结果。F 表示测试失败,点(.)表示测试成功。
在该行的下方,我们可以看到失败测试的详细信息。它将显示测试在哪个语句中失败。在我们的示例中,7*7 与 40 进行相等性比较,这是错误的。最后,我们可以看到测试执行摘要,1 个失败和 1 个通过。
函数 tesequality 不会被执行,因为 pytest 不会将其视为测试,因为其名称不是 test * 的格式。
现在,执行以下命令并再次查看结果 −
pytest -v
-v 增加详细程度。
test_square.py::test_sqrt PASSED
test_square.py::testsquare FAILED
============================================== FAILURES
==============================================
_____________________________________________ testsquare
_____________________________________________
def testsquare():
num = 7
> assert 7*7 == 40
E assert (7 * 7) == 40
test_square.py:9: AssertionError
================================= 1 failed, 1 passed in 0.04 seconds
=================================
现在,结果更好地解释了失败的测试和通过的测试。
Note - pytest 命令将在当前目录和子目录中执行所有格式为 test_ 或 _test 的文件。