【以下回答由 GPT 生成】
我可以为您提供一个解决方案。我们可以使用pytest中的参数化(parametrize)功能来解决这个问题。通过参数化,我们可以为测试用例提供不同的参数,从而实现循环执行。
首先,请确保您已经在代码中导入了pytest和pytest的parametrize功能:
import pytest
然后,您需要使用pytest的parametrize装饰器来标记您的测试函数,并为其提供参数。在这种情况下,我们可以使用一个列表来指定要循环运行的测试用例:
@pytest.mark.parametrize("test_case", ["test_PurchaseInquiry_Detail", "test_QuotationsHeader_Add"])
def test_loop_tests(test_case):
for _ in range(3):
# 执行测试用例
pytest.main(["-k", test_case])
在这个例子中,我们使用parametrize装饰器来标记test_loop_tests
函数,并提供一个名为test_case
的参数。test_case
参数是一个包含要循环运行的测试用例名称的列表。
在test_loop_tests
函数中,我们使用一个for循环来循环3次,然后使用pytest的main函数来运行指定的测试用例。主要的参数是-k
,它用于指定要运行的测试用例。在这里,我们将test_case
作为参数传递给-k
参数。
最后,您可以在终端中运行pytest来执行此测试循环:
pytest <your_test_file>.py
请注意,您需要将<your_test_file>
替换为包含上述测试函数的测试文件的名称。
希望这个解决方案对您有帮助。如果您有任何其他问题,请随时提问。