0

我的问题与Google App Engine 'search' 的 Testbed 存根基本相同,但对于 'prospective search' 服务。

我正在尝试对使用前瞻性搜索的应用程序进行一些单元测试,我得到:

AssertionError: No api proxy found for service "matcher"

我查看了支持的存根列表文档问题跟踪器,但我没有发现任何有用的参考。

4

1 回答 1

0

一旦您找到预期搜索的存根,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)
于 2013-04-16T23:26:03.403 回答