InMemoryConnection
使用该类对我们的 Elasticsearch 项目进行单元测试是一种好习惯吗?
此类正在用于单元测试的实际源代码中。但我问的原因是因为它源于HttpConnection
我不太确定它是否打开任何 HTTP 连接。我们的单元测试转到构建服务器,所以我想避免这种情况。感谢您的帮助。
InMemoryConnection
使用该类对我们的 Elasticsearch 项目进行单元测试是一种好习惯吗?
此类正在用于单元测试的实际源代码中。但我问的原因是因为它源于HttpConnection
我不太确定它是否打开任何 HTTP 连接。我们的单元测试转到构建服务器,所以我想避免这种情况。感谢您的帮助。
是的。
如果您查看 的实现InMemoryConnection
,您会发现它覆盖了 DoSynchronousRequest和DoAsyncRequest(它们的HttpConnection
方法负责实际执行 HTTP 请求),并简单地返回一个假的ElasticsearchResponse
. 没有打开 HTTP 连接,也没有发出任何请求,因此您可以安全地在单元测试中使用它。
然而,有一个用于来自 c# 的真正集成测试的 NuGet 包: https ://www.nuget.org/packages/elasticsearch-inside/
(我是作者)