如何从 Pytest 中的执行中排除测试?

我们可以在 Pytest 中从执行中排除测试。Pytest 是 Python 中的一个测试框架。要安装 pytest,我们需要使用命令pip install pytest。安装完成后,我们可以通过命令pytest –version来验证python是否已经安装。pytest 的版本应该是已知的。

Pytest 可用于创建和执行测试用例。可广泛用于测试API、UI、数据库等。pytest的测试文件有它开始命名约定TEST_或结束与_test关键字和每行代码应该是应该开始测试关键字的名称的方法内。此外,每个方法都应该有一个唯一的名称。

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

Pytest 在测试方法上给出了标记的特性。标记用于为测试方法提供特性或属性。一些默认标记是跳过、xfail 和参数化。此外,可以根据我们的需要定制更多的标记。

在某些情况下,测试方法可能由于应用程序中的已知错误或特定功能仍在开发中而变得无关紧要。pytest 测试框架提供了从执行中跳过测试方法的选项。

跳过标记与具有以下语法的测试方法相关联 - @py.test.mark.skip。同样要使用标记,我们必须将 pytest 导入到我们的测试文件中。一旦测试方法变得相关,我们需要从测试方法中删除跳过标记。

示例

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

import pytest
@pytest.mark.loan
@pytest.mark.skip
def test_CalculateLoan():
   print("Loan calculation")
def test_CalculateLease():
   print("Lease calculation")

示例

让我们考虑另一个具有测试方法的 pytest 文件。

import pytest
@pytest.mark.loan
@pytest.mark.skip
def test_CalculateRepay():
   print("Loan calculation")
def test_FindLease():
   print("Lease search")

现在要运行所有测试用例,我们需要使用命令py.test –v。标记为跳过的测试方法应被排除在执行之外。在这种情况下,将跳过CalculateLoan()和CalculateRepay()测试方法的执行。