我有一个想要链接到 Hudson 的 Android 测试项目,但我还没有找到将测试结果输出为 XML 而不是文本的方法。有谁知道是否有一种简单的方法可以做到这一点?
-担
我有一个想要链接到 Hudson 的 Android 测试项目,但我还没有找到将测试结果输出为 XML 而不是文本的方法。有谁知道是否有一种简单的方法可以做到这一点?
-担
仅供参考,对于任何偶然发现这个问题的人。我创建了一个新的 TestRunner,您可以在您的 Android 测试项目中使用它,它将以 Hudson(可能还有任何其他 CI 应用程序)可读的 XML 格式输出您的测试结果。你可以在这里阅读:http: //droiddudes.com/2010/04/07/athenatestrunner/或者从这里获取它:http: //github.com/dwatling/athena
我应该在不久前添加这个答案。
我已经使用https://github.com/jsankey/android-junit-report将近一年了,它的效果比 Athena 或我发现的任何其他东西都要好得多。
我们公司也有类似的问题。我们检查了所有可用的开源解决方案,但没有一个是真正完美的。所以我们为它开发并开源了一个解决方案。我仍然没有说“终极”,但肯定比 athena 或 python 记者或任何后测分析要好得多。你可以在这里找到它: http ://code.google.com/p/the-missing-android-xml-junit-test-runner/
它提供:
我们没有分析 java 源代码(如在 athena 中)或分析输出(python 脚本),而是扩展了 android instrumentation runner。因此,我们获得了使用标准命令行选项进行测试选择、覆盖启用等的所有好处——所有这些都在这里描述:http: //developer.android.com/guide/developing/testing/testing_otheride.html#RunTestsCommand。
我们能够使用标准测试规则成功运行代码,并由 emma 分析覆盖率,所有这些都在 Jenkins 中得到了很好的报告。
作为另一个后续行动,我提出了一个“体面”的解决方案。运行仪器测试时,我必须使用“-r”选项(例如 adb shell am instrument -w -r com.myApp/android.test.InstrumentationTestRunner > tests-out.txt)并编写自己的解析器来转换输出为 Hudson 接受的 XML 格式。
它并不完美,因为它不提供时间,也不提供日志输出消息,但至少我现在有 Hudson 报告我的 Android 测试。