单元测试不包括本地导入的包

时间:2018-06-16 20:08:02

标签: go microservices go-gin go-toolchain

我是Golang的新手,并试图了解我如何使这个场景有效?

这是我的结构 GOPATH设置为/ Users / xyz / project

/Users/xyz/project/src/main.go // import calculator and call SUM with two integeres
/Users/xyz/project/src/main_test.go // test function
/Users/xyz/project/src/calculator/sum.go // SUM function (add two integers)

我有一个主要的go文件导入“calculator”,这是一个本地包。我跑的时候

go test -cover

它只提供main的覆盖范围,但不包括main导入的软件包“calculator”。我知道我可以在计算器内部编写一个测试,这样可以解决问题,但有没有办法从main获得本地导入包的覆盖范围?

更大的上下文 - 我想这样做的原因是因为我有一个使用gin框架编写的微服务,我想将其作为服务旋转并进行http调用,并进一步了解覆盖范围的样子(如组件测试)。我可以通过编写一个启动服务的main_test go文件轻松地将其旋转,但我没有获得导入包的覆盖范围。

1 个答案:

答案 0 :(得分:0)

终于找到了回应。看起来像go有一个可以使用的测试二进制文件 https://www.elastic.co/blog/code-coverage-for-your-golang-system-tests