gpt4 book ai didi

go - Ginkgo 到 Cobertura 和 JUnit

转载 作者:数据小太阳 更新时间:2023-10-29 03:21:07 28 4
gpt4 key购买 nike

我使用 Shippable 作为我的 CI,我的项目基于 Go 1.11。所有单元测试都是使用 Ginkgo 和 Gomega 以 BDD 风格编写的。在我的测试管道中,我有类似的东西:

gocov test ./... | gocov-xml > shippable/codecoverage/coverage.xml
go test -v ./... | go-junit-report > shippable/testresults/junitresults.xml

这将创建 Cobertura 格式的覆盖率文件和 JUnit 格式的单元测试报告。

在我的项目中,我们有多个测试套件。我计划使用 Ginkgo CLI 来执行覆盖率和单元测试,而不是 gocovgo test。像这样的东西:

ginkgo -r -cover -outputdir=./shippable/codecoverage/ -coverprofile=coverage.txt
ginkgo -r -focus="\[Unit\]" -outputdir=./shippable/testresults/ -coverprofile=unit.txt

现在的问题是,我无法将 coverage.txt 文件转换为等效的 Cobertura 格式 XML 文件(可交付需要)和将 unit.txt 文件转换为等效的 JUnit XML 文件。

我看过 how to generate the JUnit file from a test suite但在我的项目中,我们有多个测试套件,这将导致多个 JUnit 文件,这是我不想要的。

知道如何转换和使用它们吗?

最佳答案

创建 Cobertura 格式:

没关系,我自己想通了。

使用设置的covermode生成封面

ginkgo -r -cover -covermode=set -outputdir=shippable/codecoverage/-coverprofile=coverage.out

现在,我们需要删除 mode: set 的重复条目

awk '!seen[$0]++' shippable/codecoverage/coverage.out > shippable/codecoverage/coverage-fix.out

最后,转换为 Cobertura

bash gocov 转换 shippable/codecoverage/coverage-fix.out | gocov-xml > shippable/codecoverage/coverage.xml

关于go - Ginkgo 到 Cobertura 和 JUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53720432/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com