如何在go coverage中添加robot框架测试

35g0bw71  于 2023-05-27  发布在  Go
关注(0)|答案(1)|浏览(139)

我在机器人文件中运行一些测试用例,并试图生成覆盖数据。因此,我已经生成了一个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)
请大家给予宝贵意见

5gfr0r5j

5gfr0r5j1#

go test与从机器人框架测试中获取覆盖率数据无关。
首先,您要编译要使用-cover标志获取覆盖率的应用程序/代码,然后进行构建。
其次,启动新构建的应用程序,并确保为它设置了GOCOVERDIR环境变量。
然后运行与所述二进制文件交互的机器人框架脚本。
根据应用程序本身的不同,您可能需要从RF本身启动二进制文件,但步骤是相同的。
请参阅; https://go.dev/testing/coverage/了解更多详情。

相关问题