欢迎访问宙启技术站
智能推送

使用Python编写并运行PyTest测试套件

发布时间:2024-01-05 17:10:18

编写和运行 PyTest 测试套件可以帮助我们对 Python 代码进行自动化测试。下面是一个示例,说明如何编写和运行一个简单的 PyTest 测试套件。

首先,我们创建一个名为test_example.py的测试文件。

def add_numbers(a, b):
    return a + b

def test_add_numbers():
    assert add_numbers(1, 2) == 3
    assert add_numbers(-1, -2) == -3
    assert add_numbers(0, 0) == 0

在这个示例中,我们定义了一个名为add_numbers的函数,它接受两个参数并返回它们的和。然后,我们编写了一个名为test_add_numbers的测试函数,我们在其中使用assert语句来验证add_numbers函数的结果。

接下来,我们打开终端并进入包含test_example.py文件的目录。然后,我们可以使用以下命令运行 PyTest 测试套件:

pytest

如果一切正常,你应该会看到类似以下的输出:

============================= test session starts ==============================
platform linux -- Python 3.8.5, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /path/to/directory
collected 1 item                                                               

test_example.py .                                                        [100%]

============================== 1 passed in 0.01s ===============================

这表明我们的测试通过,因为我们只有一个测试函数,并且通过了所有的断言。

接下来,让我们扩展我们的测试套件,以演示 PyTest 更多的功能。

def multiply_numbers(a, b):
    return a * b

def test_multiply_numbers():
    assert multiply_numbers(2, 3) == 6
    assert multiply_numbers(0, 10) == 0
    assert multiply_numbers(-1, 5) == -5

def test_add_and_multiply_numbers():
    result = add_numbers(2, 3)
    assert multiply_numbers(result, 2) == 10

在这个例子中,我们添加了另外两个函数:multiply_numberstest_multiply_numbersmultiply_numbers函数接受两个参数并返回它们的乘积,test_multiply_numbers测试函数验证了这个函数的结果。

我们还编写了一个名为test_add_and_multiply_numbers的测试函数,它演示了如何结合使用add_numbersmultiply_numbers函数来进行测试。

现在,我们再次运行 PyTest 测试套件,并查看结果:

pytest

你应该会看到类似以下的输出:

============================= test session starts ==============================
platform linux -- Python 3.8.5, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /path/to/directory
collected 3 items                                                              

test_example.py ...                                                      [100%]

============================== 3 passed in 0.01s ===============================

这表明我们的所有测试函数都通过了,测试套件成功运行。

在本示例中,我们只使用了两个简单的函数来演示如何编写和运行 PyTest 测试套件。然而,你可以根据你的需求编写更多的测试函数和测试用例来测试你的代码。