我使用 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 来执行覆盖和单元测试,而gocov
不是go 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 文件。
我已经看到如何从测试套件生成 JUnit 文件,但在我的项目中,我们有多个测试套件,这将导致多个 JUnit 文件,这是我不想要的。
任何想法,我怎样才能转换和使用它们?