gpt4 book ai didi

ios - Gtest 在测试失败时不写入结果 xml 文件 [jenkins]

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:06:58 25 4
gpt4 key购买 nike

我使用 shell 脚本在 Jenkins 中调用我们的 iOS gtest 套件

#!/bin/sh
pkill -a "iPhone Simulator"
ios-sim launch ${WORKSPACE}/source/apple/build/Debug-iphonesimulator/MyAppTest.app --args --gtest_output=xml:${WORKSPACE}/JUnitTestResultsIOS.xml

exit $?

这总是成功地运行测试,并且当测试通过时,xml 文件将按预期生成。但是,当测试失败时,不会生成任何 xml 文件,并且“执行 shell 命令”构建步骤会终止但不会使作业失败。我回应了退出代码,即使测试失败,它也会返回 0。

这让我更加困惑,因为我们在同一个作业中有一个基本相同的脚本,用于在我们的 OSX 版本上运行测试。这总是写入 xml 并在测试失败时成功地使作业失败。

这种行为似乎完全是任意的,关于我们配置的一切似乎都与它应该的完全一样。我错过了什么?

谢谢!

最佳答案

这里有两件事在起作用。

首先,我们启用了 break_on_failure gtest 选项,这在本地机器上运行测试时效果很好,但在 Jenkins 中没有用,所以我们在构建机器上禁用了它。

第二个问题是关于我们如何使用退出代码。由于 ios-sim launch ... 总是成功,我们总是得到一个 0 的退出代码,无论测试是通过还是失败。我最终使用 grep 来确定生成的 xml 文件是否指示任何故障,并基于此生成退出代码。

关于ios - Gtest 在测试失败时不写入结果 xml 文件 [jenkins],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22415059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com