4

InMemoryConnection使用该类对我们的 Elasticsearch 项目进行单元测试是一种好习惯吗?

此类正在用于单元测试的实际源代码中。但我问的原因是因为它源于HttpConnection我不太确定它是否打开任何 HTTP 连接。我们的单元测试转到构建服务器,所以我想避免这种情况。感谢您的帮助。

4

2 回答 2

3

是的。

如果您查看 的实现InMemoryConnection,您会发现它覆盖了 DoSynchronousRequestDoAsyncRequest(它们的HttpConnection方法负责实际执行 HTTP 请求),并简单地返回一个假的ElasticsearchResponse. 没有打开 HTTP 连接,也没有发出任何请求,因此您可以安全地在单元测试中使用它。

于 2015-06-09T13:42:43.277 回答
0

然而,有一个用于来自 c# 的真正集成测试的 NuGet 包: https ://www.nuget.org/packages/elasticsearch-inside/

(我是作者)

于 2015-08-10T16:34:05.377 回答