就像您自己说的那样,py.test基本上假设您已经正确设置了PYTHONPATH。有几种方法可以实现此目的:
给您的项目一个setup.py,并
pip install -e .
在此项目的virtualenv中使用。这可能是标准方法。如果您有virtualenv但没有setup.py,则可以作为一种变体,使用venv的工具在sys.path上添加项目目录,例如,
pew add .
如果使用pew,或者add2virtualenv .
使用virtualenv和virtualenvwrapper的扩展名。如果您始终喜欢sys.path上的当前工作目录,则只需始终将其导出
PYTHonPATH=''
到Shell中即可。这是确保sys.path上的空字符串,Python将其解释为当前工作目录。但是,这潜在地存在安全隐患。我自己喜欢的黑客,滥用py.test加载conftest文件的方式:
conftest.py
在项目的顶级目录中放置一个空白。
py.test以这种方式运行的原因是使针对已安装的软件包在结帐的tests
/目录中轻松运行测试。如果它将无条件地将项目目录添加到PYTHONPATH,则将不再可能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)