我正在使用以下设置进行测试
func HandleRequest(ctx context.Context, request LambdaRequest) (LambdaResponse, error) {
return LambdaResponse{
StatusCode: 200,
Headers: map[string]string{"Content-Type": "application/json"},
Body: "Hello World!",
}, nil
}
func main() {
lambda.Start(HandleRequest)
}
我希望代码覆盖率达到 100%
我能够测试实际的处理程序,没有问题。但我无法测试 main 因为你无法在本地环境中运行它。代码覆盖率下降,但我想确保所有内容都被覆盖。
我怎样才能模拟这个 lambda start?
当您想要 100% 的测试覆盖率时,最好的选择是从计算中排除包含
main
的文件。
Google 测试博客表示“在 Google,60% 是可以接受的,75% 是值得赞扬的,90% 是模范的”。 CodeCov 写道“我们看到我们的开源存储库的很大一部分覆盖率约为 80%”。 JUnit 的理由 “实现 100% 的语句覆盖率是不现实的”。您的分支机构覆盖范围和MC/DC怎么样?
测试应该有目的。如果它们只是表演性的,那么您就会损害您的程序质量。别这样做。