在Django应用中进行单元测试elasticsearch

在Django应用中进行单元测试elasticsearch,第1张

在Django应用中进行单元测试elasticsearch

您可以编写一些实际上正在调用elasticsearch的基本集成测试,然后用单元测试介绍视图,模型等内部其余的相关方法。这样,您可以测试所有内容,而不必模拟elasticsearch,并发现可能不会出现的错误/行为。

我们正在使用django haystack(https://github.com/django-haystack/django-
haystack
),它为搜索后端提供了统一的api,其中包括elasticsearch以及以下管理命令:

  • build_solr_schema
  • clear_index
  • haystack_info
  • rebuild_index
  • update_index

您可以将以上内容包装在基本集成测试类中,以管理搜索索引。例如:

from django.core.management import call_commandfrom django.test import TestCasefrom model_mommy import mommyclass IntegrationTestCase(TestCase):    def rebuild_index(self):        call_command('rebuild_index', verbosity=0, interactive=False)class IntegrationTestUsers(IntegrationTestCase):    def test_search_users_in_elasticsearch(self):        user = mommy.make(User, first_name='John', last_name='Smith')        user = mommy.make(User, first_name='Andy', last_name='Smith')        user = mommy.make(User, first_name='Jane', last_name='Smith')        self.rebuild_index()        # Search api and verify results e.g. /api/users/?last_name=smith


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5019824.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-15
下一篇2022-11-15

发表评论

登录后才能评论

评论列表(0条)

    保存