参考 https://blog.csdn.net/dingding_ting/article/details/117200319
在test_01函数前我们加上了@pytest.mark.dependency(),
在test_02函数前也写了@pytest.mark.dependency(depends=["test_01"])
在类中执行,不能直接写方法名,需要加上类名::方法名或者别名
在test_01函数前我们加上了@pytest.mark.dependency(),
在test_02函数前也写了@pytest.mark.dependency(depends=["类名::test_01"])
(1)class
作用于所属的类,外部类不会被关联
@pytest.mark.dependency(depends=["test_01"],scope="class")
(2)module
默认参数是’module’,作用于当前文件。只会查找当前文件的符合条件的文件名,类里同名的方法不会被依赖。
@pytest.mark.dependency(depends=["test_01"],scope="module")
(3)package
作用于当前目录同级的依赖函数,跨目录无法找到依赖的函数。
例如在dep2目录下,创建了test_dep_01.py和test_dep_02.py
@pytest.mark.dependency(depends=[" xxx.py ::类名::test_01"],scope="package")
(4)session
作用域全局,可跨目录调用。但被依赖的用例必须先执行
@pytest.mark.dependency(depends=["xx/ xx.py ::类名::test_01"],scope="session")
支持直接在类名上方添加,那么类下面所有方法都不执行
比如:依赖用例1满足条件(学员详情列表有数据),再执行用例2(检查学习进度)
比如:依赖用例1满足条件(学习进度100%),再执行用例2(新建完成课程的标签)
这个问题我刚刚遇到了,我的结构src/main.py src/func/test.py引用日志模块在test.py用的很好,但是当使用main.py调用test.py时就会报和你一样的错,我用的os.path.abspath('__file__')来获取的路径
直接运行和main调用后test获取的路径不一样导致读取不到section。