如何在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祝您一切顺利,保持积极乐观。