-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Go常见问题之代码检查 #211
Comments
你好 我不是一个专业的测试工程师 但是我想用golangci-lint做代码审计检查里面是否存在安全问题 想问下是不是golangci-lint run 执行检查代码,代码里必须要有测试用例 即go test 的相关文件? |
@Iceqaq 不需要。因为 1、 2、 |
@Iceqaq 所以,既然golangci-lint是一个静态检查工具,不会运行你的代码,那么写go test文件还有什么用呢,所以不需要 |
那SonarQube是需要的对吗? |
@Iceqaq 是的 ,因为它提供了单元测试相关的功能 ,比如单测的代码覆盖率等 。这些都是必须运行代码才能检查出来的 |
代码检查工具
代码检查工具可以完成代码的静态检查,在go中可以使用golangci-lint来实现。
如何安装
或者使用这种方法
.golangci.yml 配置文件
常见问题
1、protobuf/proto is deprecated
解决方案 :golang/protobuf#1077
2、context loading failed: no go files to analyze
如果出现这个问题,可以使用go build编译下看看是否能成功(大概率是不能成功的),可能原因是依赖项没有下载,所以执行正常下载编译逻辑即可。
golangci/golangci-lint#825
golangci/golangci-lint#825 (comment)
3、could not load export data: no export data for
这个错误是因为缺少下载的包,即没有下载对应的依赖包。
level=error msg="Running error: 1 error occurred:\n\t* can't run linter goanalysis_metalinter: inspect: failed to load package : could not load export data: no export data for
4、WriteFile not declared by package os (typecheck)
一般出现这个问题的原因是Go版本的问题,尝试更新更高版本。
The text was updated successfully, but these errors were encountered: