我知道这个问题已被多次询问,许多人建议将集成测试与单元测试分开。
但是有没有一个插件/包来创建新的ES索引,模仿Django如何为运行测试创建一个新的空数据库?
理论上听起来不是那么难吗?一个创建新索引的包,例如。 test_index_201709011234
对应于事务测试用例,并在测试运行后删除这些索引。
答案 0 :(得分:1)
我写了这个确切的问题。高层解决方案是:
docker-compose
运行一个单独的Elasticsearch集群。es.indices.create
和es.index
来索引测试Elasticsearch集群上的相关资源。es.indices.delete
并清理资源。您可以在https://yanglinzhao.com/posts/test-elasticsearch-in-django处阅读详细信息,而我在https://github.com/yanglinz/django-pytest-elasticsearch-example处有一个有效的示例。