具有多个输出目标的 Puppet 开发工具包测试单元

Puppet Development Kit test unit with multiple output targets

我们最近将 PDK 引入了我们的开发链,现在正努力让每个人都对它生成的测试输出感到满意。

我们需要一个输出作为 Jenkins 作业的 JUnit 测试报告。我们已经解决了。

而且我们需要控制台上仍然有输出,因为一些开发人员发现在看到失败的测试之前必须打开 JUnit 报告文件非常烦人。

pdk test unit --format=junit:report.xml

这是我们为 JUnit 配置输出的方式。

不幸的是,一旦您配置了 JUnit 报告,console/stdout 上就不再打印任何输出。即使你添加另一种格式,如 --format=text 而没有目标文件。

有没有办法在没有 运行 两次 PDK 的情况下实现两者?

来自 PDK 文档

--format=[:]

Specifies the format of the output. Optionally, you can specify a target file for the given output format, such as --format=junit:report.xml . Multiple --format options can be specified as long as they all have distinct output targets

所以我相信,你可以试试下面的方法

pdk test unit --tests=testcase_name --format=junit:report.xml --format=text:log.txt

希望对您有所帮助。

它似乎不在文档中,但这应该有效。

pdk test unit --format=junit:report.xml --format=text:stdout 

https://github.com/puppetlabs/pdk/blob/7b2950bc5fb2e88ead7321c82414459540949eb1/lib/pdk/cli/util/option_normalizer.rb#L10-L24

我已经提交了一张票以确保在 https://puppet.com/docs/pdk/1.x/pdk_reference.html#pdk-test-unit-command

被提升为文档