可以动态加载pytest测试用例并执行, 并且支持非测试用例加载执行
以下是一个可以动态加载 pytest 测试用例并执行的示例代码,支持非测试用例加载执行:
import importlib
import pytest
import os
def execute_pytest(file_path):
# 加载测试用例
module_path = os.path.abspath(file_path)
module_name = os.path.splitext(os.path.basename(module_path))[0]
spec = importlib.util.spec_from_file_location(module_name, module_path)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
# 运行 pytest 测试用例
result = pytest.main(["-q", module_path])
return result
if __name__ == "__main__":
# 动态加载 pytest 测试用例并执行
execute_pytest