我的问题与Testbed stub for Google App Engine 'search'基本相同,但对于“预期搜索”服务。
我正在尝试为使用预期搜索的应用做一些单元测试,我得到了:
AssertionError: No api proxy found for service "matcher"
我查看了list of supported stubs,docs和issue tracker,但我没有找到任何有用的内容。
答案 0 :(得分:0)
Testbed stub for Google App Engine 'search'上接受的答案已经指向了正确的方向,一旦找到了预期搜索的存根。
此类存根可以在google.appengine.api.prospective_search.prospective_search_stub
我选择在我的代码中修改SUPPORTED_SERVICES
列表,以便将来对SDK的更新不会破坏这一点。虽然我同意任何解决方案都是黑客攻击。
所以这一切都是这样的。
在测试模块中:
from google.appengine.ext import testbed
#Workaround to avoid prospective search complain until there is a proper
#testbed stub
from google.appengine.api.prospective_search.prospective_search_stub \
import ProspectiveSearchStub
PROSPECTIVE_SEARCH_SERVICE_NAME = "matcher"
testbed.SUPPORTED_SERVICES.append(PROSPECTIVE_SEARCH_SERVICE_NAME)
并在def setUp(self):
ps_stub = ProspectiveSearchStub('./ps.txt', None)
self.testbed._register_stub(PROSPECTIVE_SEARCH_SERVICE_NAME, ps_stub)