Je suis des résultats de tests fonctionnels retournés par django-haystack
avec elasticsearch
.Résultats non déterministes lors du test de hajack django avec elasticsearch
J'ai des résultats différents lors de l'exécution d'un test. Parfois, le test passe, parfois non.
Je n'arrive pas à comprendre pourquoi cela se produit.
Ma classe de test crée d'abord des entrées dans la base de données de test, puis appelle le manage.py rebuild_index
à l'aide de la méthode setatic StaticLiveServerTestCase. À la fin, j'appelle le manage.py clear_index
.
Je n'irai pas reproduire ici tout le code django pour les index de recherche, _text.txt car le code django-haystack/elasticsearch fonctionne.
Je me demande si c'est un problème de synchronisation entre les entrées de la base de données créées et l'appel à rebuild_index
.
En fait, dans mes tests, je fais
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)
Impression des objets indexés j'obtenir, parfois, les résultats incorrects:
<QuerySet [<Step: emg>]>
<QuerySet [<Step: emg>]>
<QuerySet [<Step: emg>]>
et, parfois, les corriger:
<QuerySet [<Step: emg>]>
<QuerySet [<Step: emg>]>
<QuerySet [<Step: emg>]>
<QuerySet [<Step: eeg>, <Step: emg>]>
<QuerySet [<Step: eeg>, <Step: emg>]>
Alors, que pourrait-il se passer?
Merci pour avoir repplying @mcmartin. J'apprécie vos commentaires. Peut-être que je dois mettre plus de code pour mieux expliquer ce qui se passe. – Caco