android - 如何自动生成HTML格式的Android测试报告

标签 android unit-testing

我想在 Hudson 持续集成服务器上为 Android 应用程序自动生成 html 格式的单元测试报告。

因此,我尝试先运行测试用例并收集 xml 格式的测试结果文件。然后,我使用 JUnitReport Task 将 XML 结果文件转换为 HTML 格式。

我通过 Android 仪器框架运行测试用例。但是,它只提供详细的输出信息,而不是标准的 JUnit XML 格式。我不知道如何在没有 JUnit XML 结果文件的情况下生成 HTML 单元测试报告。

如果我使用 Eclipse 运行测试用例,它可以将结果导出到 XML 文件中,其中包含每个测试用例的耗时信息。这些 XML 文件可以通过 JUnitReport Task 正确地转换为 HTML。因此,似乎可以收集带有时间消耗信息的测试结果。

有没有办法在Android Instrumentation框架上运行测试用例后自动获取标准的JUnit XML结果文件?

最佳答案

我们公司也有类似的问题。我们检查了所有可用的开源解决方案,但没有一个是真正完美的。所以我们开发并开源了一个解决方案。我仍然没有说“终极”,但肯定比 athena 或 python reporter 或任何测试后分析要好得多。你可以在这里找到它: http://code.google.com/p/the-missing-android-xml-junit-test-runner/

它提供:

  • 每个涉及的包都有单独的 XML 文件
  • XML文件在设备上生成(测试后需要adb pull')
  • 完全支持测试时间安排
  • 我们在失败/错误案例中报告了完整的堆栈跟踪

我们没有分析 java 源代码(如在 athena 中)或分析输出(python 脚本),而是扩展了 android instrumentation runner。因此,我们获得了使用标准命令行选项进行测试选择、覆盖范围启用等的所有好处 - 所有内容均在此处描述:http://developer.android.com/guide/developing/testing/testing_otheride.html#RunTestsCommand .

我们能够使用标准测试规则成功运行代码,并由 emma 分析覆盖率,所有这些都在 Jenkins 中得到了很好的报告。

关于android - 如何自动生成HTML格式的Android测试报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2178870/

相关文章:

java - Android Base64编解码单元测试返回null

android - 通过应用内结算捐款

具有许多私有(private)方法的 Java 测试类

unit-testing - CppUnit - 基于 xUnit 的设计的优点和缺点?

unit-testing - 创建一个共享的模拟对象或每个单元测试一个

java - Android 通过点击按钮停止循环

android - 如何判断USB Host设备类型?

android - Android NDK 中的系统调用

angularjs - Karma 和 Ionic 上的 CordovaCamera 选项

angularjs - 单元测试 Angular Controller 的初始化函数