我是Jenkins的新手,并且正在尝试为我的iOS应用程序设置CI。我在项目中创建了一个单元测试目标,并配置了Jenkins以正确构建和运行我的单元测试,但在尝试实际输出其余结果xml文件时构建失败,我不确定我在做什么错误。我借了很多想法从这些来源提出:Xcode 8 Jenkins JUnit错误:测试报告没有找到报告文件
https://www.raywenderlich.com/22816/beginning-automated-testing-with-xcode-part-22 http://www.sailmaker.co.uk/blog/2013/04/02/advanced-jenkins-for-ios-and-mac/
我的实际控制台日志生成后看起来是这样的:
=== BUILD TARGET run_to_it OF PROJECT run_to_it WITH CONFIGURATION Debug ===
Check dependencies
=== BUILD TARGET run_to_itTests OF PROJECT run_to_it WITH CONFIGURATION Debug ===
Check dependencies
** BUILD SUCCEEDED **
Recording test results
ERROR: Step ‘Publish JUnit test result report’ failed: No test report files were found. Configuration error?
Finished: FAILURE
我的构建步骤执行shell是这样的:
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/
security unlock-keychain -p ${KEYCHAIN_PASSWORD} ${KEYCHAIN_PATH}
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k ${KEYCHAIN_PASSWORD} ${KEYCHAIN_PATH}
xcrun xcodebuild clean build CODE_SIGN_IDENTITY="${CODE_SIGNING_IDENTITY}" PROVISIONING_PROFILE=${PROVISIONING_PROFILE} OTHER_CODE_SIGN_FLAGS="--keychain ${KEYCHAIN_PATH}"
xcodebuild -target run_to_itTests -configuration Debug -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO TEST_AFTER_BUILD=YES GCC_TREAT_WARNINGS_AS_ERRORS=NO WANT_IOS_SIM=YES OBJROOT="${WORKSPACE}"/tmp/objs build | /usr/local/bin/ocunit2junit
我保证我已经安装了必要的插件以及在/usr/local/bin
目录安装ocunit2junit
宝石以及具有安装在詹金斯的JUnit
插件。
我不知道是否正在生成任何XML文件在所有的,因为我已经通过在詹金斯工作区的每个文件夹看了看,见没有这样的XML文件的任何地方100%。我不确定是否需要在任何构建步骤中明确指定要创建的文件,还是默认处理该文件。我在网上看到了很多,我一直无法确定地解决问题。
对于上下文:我的Jenkins服务器此刻正在我的Mac上运行。我有一个Jenkins用户,在我的本地机器上有一个工作区。我也在运行macOS Sierra
,我不确定测试报告文件夹是否存在任何权限问题。我看到该文件夹正在创建,但没有任何XML文件放在它的内部。
如果我删除Publish JUnit test report result
,那么我的项目将成功构建。
是的,我怀疑也是这个问题,我找不到任何这样的XML文件。我在jenkins目录中梳理了项目的工作空间,发现没有生成XML文件。你能否进一步阐述你的问题在测试中是什么意思? – zic10
如果您想发布Junit测试结果报告,您的单元测试必须在junit格式的xml文件中生成结果。是这样吗?你如何做你的单元测试?你的单元测试的输出是什么? –
我的单元测试是一个独立的测试目标,它在代码中运行一个单元测试。除此之外,我没有其他配置。 – zic10