Pytest - 从基本测试开始

  • 简述

    现在,我们将从我们的第一个 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 
    =================================
    
    现在结果更能说明失败的测试和通过的测试。
    注意− pytest 命令将执行所有格式的文件test_*要么*_test在当前目录和子目录中。