为什么在nosetests中有错误,而在Eclipse中没有?

0 投票
1 回答
601 浏览
提问于 2025-04-16 05:28

我在用一个第三方库,这个库需要用到 urlfetch,它来自 google.appengine.api。我在执行测试时是通过下面这行代码来引入的:

from google.appengine.api import urlfetch

我的 google_appengine 目录已经在 PYTHONPATH 里了,如果我直接从 Eclipse 运行我的单元测试,是没有任何错误的。但是,如果我用 nosetests 来运行,就会出现这个问题:

File "/home/wraith/dev/sdks/google_appengine/google/appengine/api/apiproxy_stub_map.py", line 54, in CreateRPC
assert stub, 'No api proxy found for service "%s"' % service
AssertionError: No api proxy found for service "urlfetch"

之前有人遇到过一个 类似的问题,不过我现在用的是 Python 2.5,我试着从 google_appengine 目录运行 nosetests,并使用 --where 指定我的单元测试目录的路径,但结果还是一样。

为什么在 Eclipse 里可以正常运行,而在 nosetests 里就不行呢?

1 个回答

1

对App Engine API的调用是通过API代理模块来处理的。在dev_appserver中,这些模块的本地开发版本已经为你设置好了,但如果你直接从命令行运行代码,就没有这些设置。

你可以自己设置这些模块,方法类似于这个,或者你也可以直接使用nosegae

撰写回答