我有不同的测试文件夹(包).我想设置和拆除特定包(文件夹)的一些数据.
问题是在运行该文件夹的测试用例之前执行了set_up(),但是在运行所有测试用例之后,tear_down没有执行.它在运行其他软件包(文件夹)的所有测试用例之后执行(在整个pytest会话之后).
[conftest.py] @pytest.fixture(scope="session",autouse=True) def set_up(request): '''Test package setup''' def tear_down(): '''Test package teardown'''
那么如何在运行set_up的文件夹中运行所有测试用例之后如何执行tear_down()?
据我所知:scope =“module”在这种情况下是无用的,因为我不想为每个测试设置和拆卸.
任何帮助都会很棒.
谢谢
解决方法
pytest不直接支持包级别的灯具.
unittest也没有.
unittest也没有.
至于主要的测试框架,我相信nose is the only one to support package fixtures.
但是,nose2正在降低包装夹具支撑.见nose2 docs.
pytest支持module,function,class,and method level fixtures用于xunit风格的灯具.