我尝试使用以下命令为包生成测试覆盖率。
$ sudo docker run -ti --network host mmoy/ubuntu-netutils /bin/bash
root@ubuntu1604:/# ping www.example.com
PING www.example.com (93.184.216.34) 56(84) bytes of data.
64 bytes from 93.184.216.34: icmp_seq=1 ttl=55 time=86.5 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=55 time=86.5 ms
go test -v ./models_test -coverpkg=./models -coverprofile=c.out && go tool cover -func=c.out
我的回购结构如下,我正在执行命令indie文件夹
go test -v ./models_test -coverpkg=github.com/apremalal/go-test-cov/models -coverprofile=c.out && go tool cover -func=c.out
我已在github中托管了代码,以便于参考。
模型/ math.go
<go-test-cov>
|
-<models>
|
-<models-test>
models_test / math_test.go
package models
func Add(x,y int) int{
return x+y
}
每次我收到0%的测试覆盖率,尽管测试执行没有错误。
我正在使用go版本package models_test
import (
"testing"
"github.com/apremalal/go-test-cov/models"
)
func TestAdd(t *testing.T) {
total := models.Add(5, 5)
if total != 10 {
t.Errorf("Sum was incorrect, got: %d, want: %d.", total, 10)
}
}
。此方法曾用于早期版本。感谢您的帮助,了解如何使用最新的版本。