Jenkins iOS 作业中断,因为“致命:日志语句不同步:当前测试用例为空”
Posted
技术标签:
【中文标题】Jenkins iOS 作业中断,因为“致命:日志语句不同步:当前测试用例为空”【英文标题】:Jenkins iOS job broken because "FATAL: Log statements out of sync: current test case was null" 【发布时间】:2013-01-18 21:55:47 【问题描述】:我为我的 ios 项目设置了 jenkins 作业。主机目标运行顺利,而单元测试目标因“jenkins 控制台输出”给出的一个非常奇怪的原因而失败,如下所示:
[DEBUG] 测试用例“-[WhereYouAreTests testShowMainTopbar]”已启动。 测试用例“-[WhereYouAreTests testShowMainTopbar]”通过(0.000 秒)。 致命:日志语句不同步:当前测试用例为空 构建步骤“XCode”将构建标记为失败 完成:失败
为了清楚起见,WhereYouAre 是我的“宿主目标”,而 WhereYouAreTests 当然是单元测试目标。 在我提出这个问题之前,我确实到处搜索过。唯一的一条线索在这里:http://baolei.tumblr.com/,其中写道:
getschh 问:你好,宝。我尝试了关于使用 xcode 4.5 和 ios 6 使用 ruby 脚本进行 ios 单元测试的方法。我重新配置了詹金斯的工作。首先我想:哇,这很好用。当我仔细观察它时,我发现了一个大问题。我总是收到以下错误:致命:日志语句不同步:当前测试用例是“testBarcodeUtilWithCorrectValues”。它总是发生在不同的单元测试中。此错误的结果:错误发生后,不再有单元测试是 testet。我能做什么?
当您在本地机器上(而不是通过 Jenkins)运行脚本时,它是否有效?如果没有,也许您可以尝试仅使用一个简单的测试用例创建一个全新的项目,并使用该脚本。如果您可以让一个新项目正常工作,那么您可以尝试注释掉您实际项目中的大部分测试用例,只留下一些测试,然后看看会发生什么。 iOS 测试设置很挑剔,有时您确实必须进行大量试验才能使一切顺利进行。
我的单元测试在 Xcode 中运行良好。所以它显然对我没有帮助。
请有人告诉我一个方法或任何线索。提前致谢。
顺便说一句,我的环境为此配置: 操作系统 10.7 XCode 4.6 Jenkins (brew 安装包) 1.5
【问题讨论】:
我也有同样的问题,希望有人能解决这个问题... 这似乎是由 Jenkins Xcode 插件无法解析测试的输出引起的。这发生在我身上,因为出于某种原因,在 ios-sim 下运行测试会导致[DEBUG]
在每个输出行的开头打印。我还没弄清楚为什么会这样。
【参考方案1】:
我已经修补了 Jenkins Xcode 插件以解析带有 [DEBUG]
开头的行就好了(并且通常使它更宽松):
https://github.com/jenkinsci/xcode-plugin/pull/19
希望你觉得它有用。
【讨论】:
【参考方案2】:我遇到了同样的问题并设法通过在模拟器上执行Erase all contents and settings
来解决它,然后再次触发构建。
https://medium.com/@lawrey/fixing-fatal-log-statements-out-of-sync-current-test-case-was-null-in-jenkins-xcode-f14c8b117641
【讨论】:
以上是关于Jenkins iOS 作业中断,因为“致命:日志语句不同步:当前测试用例为空”的主要内容,如果未能解决你的问题,请参考以下文章
使用 DB 运行 Spring Boot 测试时,Jenkins 代理作业被终止
尝试在单台 Mac 机器上使用并行 Jenkins 管道构建 iOS 应用程序时出现缓存问题