ChefSpec and Test Kitchen

12
我正在调查如何以junit格式生成ChefSpec报告(包括覆盖率)和Test Kitchen报告,以便可以通过Jenkins解析并发布结果。或者,如果有其他友好的方式可以通过Jenkins发布这些结果。抱歉如果我解释不清楚,但我知道ChefSpec是用于单元测试,而Test Kitchen是用于集成测试。我的意思是如何以一种可以被Jenkins解析(例如junit格式)的格式获取测试结果报告(对于两者都是如此)。谢谢。

我还没有看到与test-kitchen的联系。据我所知,你不需要t-k来运行chefspec,反之亦然。 - StephenKing
2个回答

25

您混淆了单元测试和集成测试。ChefSpec是一个单元测试框架。它不执行实际的收敛操作,并在内存中运行所有内容。Test Kitchen是一个集成框架。它使用虚拟机在真实机器上实际运行Chef。

它们是构建的不同部分。您不从Test Kitchen或相反地运行ChefSpec。

至于从ChefSpec报告中获取机器可解析输出,这是我要做的事情之一。我希望有比JSON更灵活的东西,并且我还希望用户能够提供自己的模板。

来源:

  • 我编写了ChefSpec
  • 我是Test Kitchen核心成员

嘿@sethvargo,rspec_junit_formatter宝石允许rpsec使用参数'--format RspecJunitFormatter'以xunit格式格式化其输出。我不确定这是否适用于chefspec代码覆盖功能。我还没有尝试过那个功能。很快,很快。 :) - punkle
非常感谢你们的回复。是的,我尝试了那个功能——格式为RspecJunitFormatter,并且在rspec单元测试中运行良好。但我还没有弄清楚如何获得适用于Jenkins的覆盖率解析。你们成功过吗?谢谢。 - user2620348

0

虽然似乎至少有将其输出为JSON的功能,但看起来这个功能已被删除。请参见此处的讨论

那么,我该如何获取一个覆盖率文件报告以便举报给Jenkins呢?

您可以将输出解析为表格。我正在研究一种供用户提供“自定义”格式化程序的方法,但尚未想出一个好的解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接