问题描述
我创建了几个基于 Rest API 的微服务,这些微服务在服务器的不同端口上运行。
然后我编写了一个测试代码,它实际上通过 HTTP 向 serviceA(它又调用 serviceB)发送了一个 Rest API 调用,并获取它的响应,对其进行解码并将其与预期的响应进行比较。
这一切正常,但是当我以 go test -cover
src/
|--serviceA/
| |--main.go
| |--integration_test.go
|--serviceB/
|--main.go
我手动运行每个服务。
go run serviceA/main.go // Listens on port X
go run serviceB/main.go // Listens on port Y
我的 integration_test.go
有一个 TestFunc()
,它使用 serviceA/main.go
和 http.Client{}
从字面上调用 http.NewRequest()
的一个 REST API 端点,然后检查响应。
响应符合预期,但 serviceA
的覆盖率为 0.0%,这不应该是这种情况,因为它实际上发回了一些数据,因此执行了多行。
服务 A 和 B 不是 lib 包,所以我不能使用 -coverpkg
cmd 提到的 here
可能我正在寻找可以覆盖黑盒组件/服务的工具。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)