假设
- API 测试使用 GoLang 编写在同一个 API 代码存储库中
- API 测试作为 Pull Request CI 构建的一部分运行。
- API 测试基本上是启动 gRPC 服务器,从基于 golang 的 gRPC 客户端发出请求并验证响应
流动
- 开发人员开始为 API 构建新端点
- 开发人员不编写任何 API 测试(请注意,我特别提到了 API 测试而不是单元测试)
- 开发人员为更改创建一个拉取请求
- 拉取请求应确定没有为新更改编写测试并阻止 PR
我的问题
我们如何构建这样的 CI 流程来实现第 4 点?我知道代码覆盖率是一种方法,但我不完全相信这是否是 API 测试的正确方法?
是否可以根据此类 API 测试找到 gRPC 服务的代码覆盖率?如果是,那么如何?