Haystack QuerySet, сохраняя различные элементы при запросе elastichsearch в интеграционных тестах

В моем приложении django у меня есть следующая функция:

      from haystack.query import SearchQuerySet

def search():
    results = SearchQuerySet().models(*models_to_search)
    return results

а затем у меня есть следующий тест (где item_1 и item_2 создаются при настройке тестового класса):

      def test_search(self):
    
    expected_objects = [
        self.item_1, self.item_2
    ]

    response_results = search()

    self.assertIn(response_results, expected_objects)

Исправления, использованные для восстановления индексов эластичного поиска:

      def _fixture_setup(self):
    call_command('clear_index', interactive=False, verbosity=0)
    super(ElasticBaseTest, self)._fixture_setup()

def _fixture_teardown(self):
    super(ElasticBaseTest, self)._fixture_teardown()

При запуске приложения возвращаются ожидаемые результаты. проблема в том, что при выполнении тестов запрос возвращает пустой список. Однако, если я добавлю в тест точку останова перед вызовом search выполняются пошагово, запрос возвращает ожидаемые элементы и тест проходит успешно.

Какие-либо предложения?

0 ответов

Другие вопросы по тегам