我在PyCharm中创建了一个鼻子测试配置。我在我工作的virtualenv中安装了NoseGAE。使用./env/bin/nosetests --with-gae src/tests
从终端运行测试效果很好。然而,PyCharm测试配置产生
/Users/bistenes/Code/myproject/env/bin/python /Applications/PyCharm.app/Contents/helpers/pycharm/noserunner.py src/tests/
Testing started at 6:31 PM ...
/Users/bistenes/Code/myproject/env/lib/python2.7/site-packages/nose/plugins/manager.py:395: RuntimeWarning: Unable to load plugin nosegae = nosegae:NoseGAE: nose>=0.10.1
RuntimeWarning)
将Config设置为Nosetests,“All in folder”src/tests
。无论--with-gae
是否作为参数传递,都会发生错误。
随后的失败表明NoseGAE未被加载:
AssertionError: No api proxy found for service "datastore_v3"
答案 0 :(得分:7)
通过运行pkg_resources
确保您拥有最新的pip install --upgrade setuptools
。然后将您要使用的pkg_resources
版本添加到路径的前面。在PyCharm中,您可以通过向测试配置添加环境变量来实现此目的:PYTHONPATH=/path/to/site-packages:$PYTHONPATH
。
这种情况正在发生,因为PyCharm启用了对Google App Engine的支持(在“Languages& Frameworks”下),将一堆GAE SDK目录插入到PYTHONPATH的前面。 Python GAE SDK附带setuptools-0.6c11
,这是2009年版本的setuptools。它有一个非常旧版本的pkg_resources
捆绑在一起,不适用于较新的鼻子插件。