我有以下目录结构:
class QC {
int n;
boolean valueSet = false;
synchronized int get() {
while (!valueSet) { // if -> while
try {
wait();
} catch (InterruptedException e) {
System.out.println("InterruptedException caught");
}
}
System.out.println("Got: " + n);
valueSet = false;
notifyAll(); // notify -> notifyAll
return n;
}
synchronized void put(int n) {
while (valueSet) { // if -> while
try {
wait();
} catch (InterruptedException e) {
System.out.println("InterruptedException caught");
}
}
this.n = n;
valueSet = true;
System.out.println("Put: " + n);
notifyAll(); // notify -> notifyAll
}
}
如果我在dev目录中运行py.test,则会调用根目录中的conftest.py。我一直无法弄明白为什么。我没有设置PYTHONPATH环境变量。
答案 0 :(得分:0)
来自https://docs.pytest.org/en/latest/writing_plugins.html:
通过加载命令行调用推断的所有conftest.py文件:
- 如果未指定测试路径,则使用当前目录作为测试路径
- 如果存在,则相对于第一个测试路径的目录部分加载conftest.py和test * / conftest.py。
请注意,pytest在工具启动时没有在更深的嵌套子目录中找到conftest.py文件。将conftest.py文件保存在顶级测试或项目根目录中通常是个好主意。
如果您没有为我指定测试路径,看起来是从根目录加载conftest.py的文档行为。