【发布时间】:2023-03-15 15:35:01
【问题描述】:
这是一种开放式问题/请求(希望是允许的)。
在我的团队中,我们正在为我们喜欢的项目使用空手道 API 测试。对于没有编码背景的人来说,这些测试很容易编写并且相当容易理解。我们面临的最大问题是这些 API 测试具有一定程度的固有缺陷(因为我们正在测试的代码会调用其他系统)。在我的机器上本地运行测试时,很容易看到测试失败的地方。然而,我们也在使用 Jenkins 管道,当测试在 Jenkins 中失败时,很难看出它们为什么/如何失败。默认情况下,我们会收到这样的消息:
com.company.api.OurKarateTests > [crossdock] Find Crossdock Location.[1:7] LPN is invalid FAILED
com.intuit.karate.exception.KarateException
基本上所有这些告诉我们的是失败场景的文件名和起始行。我们确实设置了管道,以便我们可以传入debug 标志并获取更多信息。然而,这有两个问题;一个是你必须记住在每个你想查看信息的提交中加入这个标志;另一个是我们从没有足够的信息到太多(读取整个构建的 24MB 文件)。
我正在寻找有关如何改进此流程的建议,最好不要对 Jenkins 管道进行更改(另一个团队负责管理,这可能需要很长时间)。虽然如果改变管道是做到这一点的唯一方法,我想知道这一点。我愿意“跳出框框思考”并接受非正统的解决方案(例如,发布到松弛的集成)。
我们目前使用的是 0.9.3 版的空手道,但我可能会计划升级到 0.9.5 作为这项工作的一部分。我已经阅读了一些关于这些变化的信息。 “ExecutionHook”会是一个好方法吗?我将自己尝试一下。
其他团队/开发者是否遇到过这个问题?你的解决方案是什么?同样,我们真的很喜欢空手道,只是在努力将它与 Jenkins 集成。
【问题讨论】: