我在go中开发了一个API,它使用SDK v8与ElasticSearch进行通信。但是我在模拟单元测试的弹性方法时遇到了困难
我有以下功能:
func DocumentExists(id string) (bool, error) {
exists, err := elastic.Client.Exists("my_index", "doc_id")
if err != nil {
return false, err
}
if exists.StatusCode != 200 {
return false, nil
}
return true, nil
}
此函数仅检查弹性文件中是否存在文档。elastic.Client
是全局提供的,可在应用程序中的任何位置使用,并且具有以下类型:
import elastic "github.com/elastic/go-elasticsearch/v8"
var (
Client *elastic.Client
)
你可以试着用不同的方式来嘲笑,用嘲笑来证明。但没有成功。
我怎么能这么做?我应该改变我获得客户的方式吗?利用合同?
在我看来,在这种情况下,使用合同是没有必要的。
1条答案
按热度按时间o3imoua41#
Elasticsearch Go客户端的GitHub存储库中的官方example演示了如何为Elasticsearch客户端创建模拟。此过程主要需要使用替代HTTP传输的配置调用
NewClient
。