如何在命令行中捕获 OCUnit 的测试失败/成功?
Posted
技术标签:
【中文标题】如何在命令行中捕获 OCUnit 的测试失败/成功?【英文标题】:How do I catch OCUnit's test fail/success in command line? 【发布时间】:2011-06-14 01:29:32 【问题描述】:我的期望:# 构建成功 # 和 # 测试失败 #
实际结果:只有 #Build Succeeded #
如何在命令行中获得失败/成功? [iphone,objective-c,xcode4,OCUnit]
我是 OCUnit 和 Xcode4 的新手。我创建项目: https://github.com/sanemat/HogeHoge 这是 xcode4 的脚手架代码。我在 xcode gui 中运行测试,#Test Failed# 成功出现。在命令行中(我想使用 jenkins),我使用以下命令。
xcodebuild -target HogeHogeTests -configuration Debug -sdk iphonesimulator4.3 clean build
我看到 #Build Succeeded # 然后完成了。我想运行测试并得到它的结果。怎么样?
已编辑:
我找到了BPOCUnitXMLReporter。这是针对 MacOS 的。我forked并调整了ios。
【问题讨论】:
嗨,Sanemat,只是为了解决这个问题:SO 的工作方式是您对有帮助的答案投赞成票,并接受对您有用的答案。考虑让您的编辑成为答案,24 小时后您可以接受它作为答案。 【参考方案1】:我找到了BPOCUnitXMLReporter。这是针对 MacOS 的。我forked并调整了iOS。
【讨论】:
在您的分叉项目中,如何让 Jenkins 拉入 ocunit.xml 文件?或者换一种说法,怎么把模拟器的Application的文件夹传给Jenkins? 我很满意输出xml格式,所以你可以写logs/junit.xml例如junit 日志模式。或者我建议使用 GHUnit 而不是 OCUnit。这对 Jenkins 更友好。【参考方案2】:试试Text Finder Plugin 它允许你在日志中搜索一个字符串,并根据它设置通过或失败。
【讨论】:
【参考方案3】:您可以将自定义测试记录器与 OCUnit 集成。在这里查看我的答案: How do I trap OCUnit test pass/failure messages/events
【讨论】:
【参考方案4】:您正在寻找的是这个未记录的参数(您也需要 sdk 和 target)从终端运行您的 OCUnit 测试
xcodebuild -target MyTarget -sdk iphonesimulator TEST_AFTER_BUILD=YES
【讨论】:
以上是关于如何在命令行中捕获 OCUnit 的测试失败/成功?的主要内容,如果未能解决你的问题,请参考以下文章