【发布时间】:2018-02-13 01:02:44
【问题描述】:
我是django-haystack 和elasticsearch 返回的功能测试结果。
我在运行测试时得到了不同的结果。有时测试通过,有时没有。
我不知道为什么会这样。
我的测试类首先在测试数据库中创建条目,然后调用manage.py rebuild_index,使用StaticLiveServerTestCase setUp 方法。最后我打电话给manage.py clear_index。
我不会在这里重现所有用于搜索索引的 django 代码,_text.txt 的,因为 django-haystack/elasticsearch 代码正在运行。
我想知道创建的数据库条目和对rebuild_index的调用之间是否存在同步问题。
基本上,在我的测试中我会这样做
class SearchTest(FunctionalTest):
def setUp(self):
super(SearchTest, self).setUp() # this make the entries in database
self.rebuild_index()
def tearDown(self):
super(SearchTest, self).tearDown()
call_command('clear_index', interactive=False)
打印索引的对象有时会得到不正确的结果:
<QuerySet [<Step: emg>]>
<QuerySet [<Step: emg>]>
<QuerySet [<Step: emg>]>
有时是正确的:
<QuerySet [<Step: emg>]>
<QuerySet [<Step: emg>]>
<QuerySet [<Step: emg>]>
<QuerySet [<Step: eeg>, <Step: emg>]>
<QuerySet [<Step: eeg>, <Step: emg>]>
那么,会发生什么?
【问题讨论】:
标签: python django elasticsearch django-haystack