【问题标题】:Code Coverage tool for BlackBerry黑莓代码覆盖工具
【发布时间】:2010-05-03 19:29:35
【问题描述】:

我正在寻找可以与 BlackBerry 应用程序一起使用的 code coverage 工具。我正在使用 J2ME-Unit 进行单元测试,我想看看我的测试覆盖了多少代码。

我尝试过使用Cobertura for J2ME,但经过几天的努力,我没有从中得到任何结果。 (我相信仪器是由 RAPC 编译完成的)。尽管this message,该项目似乎已经死了。

我查看了JInjector,但该项目似乎非常不完整。文档很少(如果有的话),虽然它声称能够处理 BlackBerry 项目,但我还没有看到任何地方 用于此目的.我已经玩了很多次这个项目,但无济于事。

我也尝试过 BlackBerry JDE 中的“Coverage”视图,尽管我使用 Eclipse 进行开发。无论单击“刷新”并从 JDE 运行应用程序,该视图始终保持空白。

我查看了most of the tools on this SO thread,但它们不适用于 J2ME/BlackBerry 项目。

有人在 BlackBerry 上使用任何代码覆盖工具取得过成功吗?如果有,您使用过哪些工具?您是如何使用它们的?

如果有人设法让 J2ME 的 JInjector 或 Cobertura 与 BlackBerry 项目一起工作,那么您必须做些什么才能让它工作?

【问题讨论】:

    标签: testing blackberry code-coverage metrics java-me


    【解决方案1】:

    我不能代表 Coberatura 或 JInjector,因为我不知道他们如何收集测试覆盖率探测数据。

    什么是 关键是如何捕获这些数据(是否需要仅在标准 Java VM 中提供的 Java 运行时支持?)以及如何将其导出到测试覆盖率显示/报告生成工具。

    我们的SD Java Test Coverage 工具检测您的源代码;在运行时,这会生成一组表示覆盖数据的本机 Java 布尔值,而无需任何特殊的 VM 支持。通常,当您的应用程序退出时,该数组会通过测试覆盖率工具提供的 TCVDump 方法直接导出到一个文件,供测试覆盖率显示机制使用。

    嵌入式系统中的 Java(和其他使用的编程语言)通常需要自定义方法来提取测试覆盖率数据。您可能需要编写一个特殊的转储过程(在 Java 中)以将该布尔数组写出到可访问的位置。我们构建此类自定义转储程序的经验是它们通常非常简单(几十行);真正的诀窍是决定如何/在哪里放置数据,以便可以轻松地将其移动到目标文件。大多数情况下,这只是一对特殊的副本,其中第一个将布尔数组复制到某个暂存位置,第二个将暂存数据写入目标文件。 (标准的 TCVdump 方法以源代码的形式提供以启用这种自定义)。

    虽然我没有专门研究过 BlackBerry,但如果您可以在任何地方写入数据,那么您几乎可以放心,您可以做到这一点。我们已经在其他嵌入式手机系统(例如 Symbian)上取得了成功。

    如果您想全面了解如何按照此策略对测试覆盖率进行一般性检测,请参阅本文:Branch Coverage for Arbitrary Languages Made Easy

    【讨论】:

      【解决方案2】:

      我在 Google 工作期间积极参与了 JInjector。我们能够使用它成功地获得黑莓应用程序的代码覆盖率。 Blackberry 应用程序的应用程序生命周期比 J2ME 更难预测,我们发现我们必须调整应用程序代码以确保收集到覆盖数据。我没有亲自开发过黑莓应用程序,其他几位工程师做过。我希望我们能创建一个示例黑莓应用程序并在 jinjector 网站上提供它,但事件和生活阻碍了。

      如果您愿意提供带有一些单元测试的示例黑莓应用程序,我愿意花几个小时来帮助您实现代码覆盖率。我没有积极地使用 J2ME 或 Blackberry(当我有时间尝试移动设备时,我目前正在开发 Android 应用程序)所以我很生疏。我的日常工作不涉及太多移动测试自动化,但是我继续致力于改进移动应用程序测试自动化的方法,例如http://code.google.com/p/mwta/downloads/list 用于 Android 测试自动化。

      我是 gmail.com 的 julianharty

      【讨论】:

      • 谢谢朱利安,但这与我现在几乎无关;从那以后,我切换了项目(尽管我在这里开发的 BlackBerry 应用程序取得了巨大的成功)。 ;-)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 2011-03-02
      • 2011-07-07
      相关资源
      最近更新 更多