📜  Pytest-从基本测试开始

📅  最后修改于: 2020-11-06 05:19:54             🧑  作者: Mango


现在,我们将从第一个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表示测试失败,而dot(。)表示测试成功。

在此之下,我们可以看到失败的测试的详细信息。它将显示测试失败的语句。在我们的示例中,将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 
=================================

现在,结果对于失败的测试和通过的测试更具解释性。

注意-pytest命令将在当前目录和子目录中执行所有格式为test_ ** _test的文件。