我的问题与Google App Engine 'search' 的 Testbed 存根基本相同,但对于 'prospective search' 服务。
我正在尝试对使用前瞻性搜索的应用程序进行一些单元测试,我得到:
AssertionError: No api proxy found for service "matcher"
我的问题与Google App Engine 'search' 的 Testbed 存根基本相同,但对于 'prospective search' 服务。
我正在尝试对使用前瞻性搜索的应用程序进行一些单元测试,我得到:
AssertionError: No api proxy found for service "matcher"
一旦您找到预期搜索的存根,Google App Engine“搜索”的测试床存根上的公认答案已经指向正确的方向。
这样的存根可以在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)