pytest-xdist:远程多主机 - 分布式运行自动化测试
import pytest
# 使用pytest.mark.parametrize装饰器定义测试参数
@pytest.mark.parametrize("test_input,expected", [("3+5", 8), ("2+4", 6), ("6*9", 42)])
def test_example(test_input, expected):
# 定义一个简单的计算函数
def calc(expression):
op1, operator, op2 = expression.split(operator)
if operator == "+":
return int(op1) + int(op2)
elif operator == "*":
return int(op1) * int(op2)
else:
raise ValueError("Unsupported operator")
assert calc(test_input) == expected
# 使用pytest.main函数运行测试,并启用pytest-xdist插件的--nodests选项
if __name__ == "__main__":
pytest.main(["-n", "auto", "--dist", "loadfile"])
这段代码定义了一个简单的测试函数test_example
,它使用pytest.mark.parametrize
来进行参数化测试。然后在if __name__ == "__main__":
块中,使用pytest.main
函数运行测试,并通过命令行参数-n auto --dist loadfile
启用pytest-xdist插件的多线程分布式运行功能。这样可以在多个CPU核心上并行运行测试,提高测试效率。
评论已关闭