擅长:python、mysql、java
<p>你不需要任何神奇的魔法。py.测试自动将当前测试文件的路径添加到<code>sys.path</code>,以及指向目标目录的所有父路径。在</p>
<p>因此,您甚至不需要将共享代码放入<code>conftest.py</code>。您可以将其放入普通模块或包中,然后导入它(如果您想共享fixture,那么这些fixture必须位于<code>conftest.py</code>)中。在</p>
<p>另外,还有一个关于从<a href="http://pytest.org/latest/plugins.html#conftest-py-local-per-directory-plugins" rel="nofollow">documentation</a>中的<code>conftest.py</code>导入的注释:</p>
<blockquote>
<p>If you have conftest.py files which do not reside in a python package
directory (i.e. one containing an <code>__init__.py</code>) then “<code>import conftest</code>”
can be ambiguous because there might be other <code>conftest.py</code> files as
well on your <code>PYTHONPATH</code> or <code>sys.path</code>. It is thus good practise for
projects to either put <code>conftest.py</code> under a package scope or to never
import anything from a <code>conftest.py</code> file.</p>
</blockquote>