简述
现在,我们将从我们的第一个 pytest 程序开始。我们将首先创建一个目录,从而在该目录中创建我们的测试文件。
让我们按照以下步骤操作 -
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
使用以下命令运行测试 -
上述命令将生成以下输出 -
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*.
现在,执行以下命令并再次查看结果 -
-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
=================================
现在结果更能说明失败的测试和通过的测试。
注意− pytest 命令将执行所有格式的文件test_*要么*_test在当前目录和子目录中。