Pytest 中的 fixture 是什么?


fixture 是在与之关联的每个测试方法之前执行的方法,pytest 是 Python 中的一个测试框架。要安装 pytest,我们需要使用命令 pip install pytest。安装后,我们可以通过命令 pytest –version 验证 Python 是否已安装。pytest 的版本将被显示。

Pytest 可用于创建和执行测试用例。它可以用于各种测试,如 API 测试、UI 测试、数据库测试等等。pytest 的测试文件有一个命名约定,即以 test_ 开头或以 _test 结尾,并且每行代码都应该在以 test 关键词开头的方法内。此外,每个方法都应该具有唯一的名称。

为了打印控制台日志,我们需要使用命令 **py.test –v –s**。同样,如果我们想从特定的 pytest 文件运行测试,则命令为 **py.test <filename> -v**。

fixture 与负责 URL 声明、处理一些输入数据、数据库连接等的测试方法相关联。因此,它可以被视为每个测试方法的预处理方法。

具有 fixture 的方法应该具有以下语法:**@pytest.fixture**。要访问 fixture 方法,测试方法必须将 fixture 的名称指定为输入参数。

此外,要使用 fixture,我们必须将 **pytest** 导入到我们的测试文件。

示例

让我们考虑一个包含测试方法的 pytest 文件。

import pytest @pytest.fixture def Login(): print("Login is successful") def test_CalculateLease(Login): print("Lease calculation") def test_CalculateLoan(Login): print("Loan calculation")

在上面的示例中,我们有一个 fixture 方法 Login(),它作为参数传递给测试方法 CalculateLease() 和 CalculateLoan()。首先,将执行 Login() fixture 方法,然后执行其他方法。

要执行上述测试方法,我们需要运行命令 **py.test -k Calculate –v**。

fixture 的缺点是其作用域仅限于其提到的测试文件,而不在其外部。

更新于: 2021 年 11 月 19 日

235 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告