我是django-haystack
用elasticsearch
返回的功能測試結果。用elasticsearch測試django乾草堆時的非確定性結果
運行測試時我有不同的結果。有時候測試通過,有時不會。
我不明白爲什麼會發生這種情況。
我的測試類首先在測試數據庫中創建條目,然後使用StaticLiveServerTestCase setUp方法調用manage.py rebuild_index
。最後我打電話manage.py clear_index
。
我不會在這裏再現所有用於搜索索引的django代碼,因爲django-haystack/elasticsearch代碼正在工作,所以_text.txt的代碼。
我想知道是否創建的數據庫條目和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>]>
那麼,會發生什麼?
謝謝repplying @mcmartin。我感謝您的意見。也許我需要更多的代碼來更好地解釋發生的事情。 – Caco