我在机器人文件中运行一些测试用例,并试图生成覆盖数据。因此,我已经生成了一个test_binary,并在Makefile中使用此命令
${GOROOT}/bin/go test -race -coverpkg="./..." -c -o test_binary -tags testrunmain .
然后我有一个coverage.sh文件,它使用这个test_binary生成覆盖率
/bin/test_binary -test.run "^TestRunMain$" -test.coverprofile=/coverage/coverage.out &
然后有一个带有函数TestRunMain的go test函数
func TestRunMain(t *testing.T) {
go main()
c := make(chan os.Signal)
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
<-c
}
目前只有主要功能是越来越包括在覆盖率报告,我想涵盖所有的测试情况下,写在机器人文件(tests.robot)
请大家给予宝贵意见
1条答案
按热度按时间5gfr0r5j1#
go test
与从机器人框架测试中获取覆盖率数据无关。首先,您要编译要使用
-cover
标志获取覆盖率的应用程序/代码,然后进行构建。其次,启动新构建的应用程序,并确保为它设置了GOCOVERDIR环境变量。
然后运行与所述二进制文件交互的机器人框架脚本。
根据应用程序本身的不同,您可能需要从RF本身启动二进制文件,但步骤是相同的。
请参阅; https://go.dev/testing/coverage/了解更多详情。