如何在pytest中使用fixture?


fixture是在pytest中会在每个与其关联的测试方法之前执行的方法。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,我们必须将**import pytest**导入到我们的测试文件中。

让我们考虑一个包含测试方法的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的一个缺点是它的作用域仅限于它所在的测试文件,而不在其外部。

结论

除了我们在这里讨论的问题之外,请仔细回顾一下您以前针对该主题完成的任务。还要确保您能够在面试中充满信心地表达自己。

如果您正在申请应届毕业生的职位,问题大多是关于基本概念的。保持冷静,为面试做好准备。Tutorialspoint祝您一切顺利,保持积极乐观。

更新于:2020年7月29日

386 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告