我如何单元测试/模拟ElasticSearch

Rya*_*son 7 unit-testing scala elasticsearch

首先,我使用Scala和sbt作为我的应用程序.

我正在使用elastic4s库的ElasticClient连接到我的ES实例.所以基本上我只需要能够在我的单元测试中测试这些.比如只是验证我的数据实际上已经成为ES和类似的东西.

嘲笑ElasticSearch是最好的方法还是更有效的方法呢?我将如何处理其中任何一个?

我发现你可以用ElasticClient.local设置一个本地客户端,但我似乎找不到很多例子.我们想要使用这个实现,所以如果你知道如何使用它,我想听听它,但如果有更好或更简单的方法来完成这个将工作.

rad*_*dai 2

由于弹性搜索是java并且您的代码也是(或兼容)的,所以最好的方法是找出一种启动弹性搜索“可嵌入”的方法 - 只需在您的@Before方法中启动他们的服务器并在@After.

幸运的是,似乎有人已经有了完全相同的想法 - https://orrsella.com/2014/10/28/embedded-elasticsearch-server-for-scala-integration-tests/

  • @Bob,如果您需要嵌入式数据库,我不确定测试是否仍然是单元。 (3认同)