Nest 单元测试Elasticsearch项目的内存连接
使用Nest 单元测试Elasticsearch项目的内存连接,nest,elasticsearch-net,Nest,elasticsearch Net,使用InMemoryConnection类对我们的Elasticsearch项目进行单元测试是一种好的做法吗 这个类被用于单元测试的实际源代码中。但是我问这个问题的原因是因为它来自于HttpConnection,我不太确定它是否打开了任何HTTP连接。我们的单元测试将转到构建服务器,因此我希望避免这种情况。谢谢你的帮助。是的 如果您查看MemoryConnection中的实现,您将看到它覆盖和(负责实际执行HTTP请求的HttpConnection方法),只返回一个伪ElasticsearchR
InMemoryConnection
类对我们的Elasticsearch项目进行单元测试是一种好的做法吗
这个类被用于单元测试的实际源代码中。但是我问这个问题的原因是因为它来自于HttpConnection
,我不太确定它是否打开了任何HTTP连接。我们的单元测试将转到构建服务器,因此我希望避免这种情况。谢谢你的帮助。是的
如果您查看MemoryConnection中
的实现,您将看到它覆盖和(负责实际执行HTTP请求的HttpConnection
方法),只返回一个伪ElasticsearchResponse
。没有打开HTTP连接,也没有发出任何请求,因此您可以在单元测试中安全地使用它。但是,c#提供了一个用于真正集成测试的NuGet包:
(我是作者)这看起来正是我想要的,但它不能与dotnet core一起工作。@kiml42看看NEST中的测试项目,该项目为集成测试下载并启动不同的Elasticsearch群集版本。具体来说,请查看集成目录中的ClusterBase
和ElasticsearchNode
。这些在dotnetcore和桌面CLR上工作