【问题标题】:What unit-test frameworks would you recommend for J2ME? [closed]您会为 J2ME 推荐哪些单元测试框架? [关闭]
【发布时间】:2008-09-22 11:12:22
【问题描述】:

我对 J2ME 比较陌生,即将开始我的第一个严肃项目。我的测试经验也不是很深。我正在寻找 J2ME 的单元测试框架。

到目前为止,我已经看到了 J2MEUnit,但我现在不知道它的支持程度如何。我见过 JavaTest Harness,但我不知道这是否有点矫枉过正。

请告诉我您建议的框架:
* 实施测试的简单性
* 支持社区和工具
* 与申请认证流程的兼容性
* 与 IDE(Eclipse、NetBeans)集成
* 您认为重要的其他方面...

谢谢, 阿萨夫。

【问题讨论】:

    标签: unit-testing testing java-me


    【解决方案1】:

    This is a blog entry of a spanish company who makes movile games。比较了很多框架,结论是(翻译):

    • MoMEUnit 提供非常有用 有关测试的信息。是 易于移植且与 Ant 兼容。一种 缺点(或可能不是),它的 它需要每个测试类 有一个独特的测试方法,使用 很多继承。

    • JMEUnit。 (J2MEUnit 的未来合并 和 JMUnit) JMUnit 不支持 Ant 但界面类似 MoMEUnit。 J2MEUnit 不提供 非常有用的信息 测试。在两者中创建测试 框架有点复杂。 J2MEUnit 确实支持 Ant;那是 为什么要合并两个框架 会很有趣(他们有 在 int 上工作了一年多 o 更少)

    我的经验:我使用过 J2ME 单元,并且由于 J2ME 中缺少“反射”而设置测试装置很痛苦,但它们总是以相同的方式构建,因此模板可以节省大量时间。 我打算这周试用 MoME Unit,只是为了检查它更简单的模型

    一些 J2ME 的测试单元框架:

    【讨论】:

    • 当需要与Maven集成时,什么是最合适的?
    【解决方案2】:

    也看看 MockME。

    www.mockme.org

    来自他们的网站: “MockME 是 Java SE 的 Java ME 模拟对象。MockME 让您无需在手机上运行它们即可编写真正的单元测试。您甚至可以使用动态模拟对象框架,例如 EasyMock,它使您能够模拟 Java ME 中的任何对象!MockME集成了用于单元测试的同类最佳工具,包括 JUnit、EasyMock 和 DDSteps。通过使 Java ME API 可模拟,您可以按照您真正想要的方式为您的 Java ME 应用程序编写单元测试。”

    【讨论】:

    • 真的很有帮助。我试试看
    【解决方案3】:

    J2SE 上的 MicroEmulator + JUnit

    我开始使用 JMUnit 之类的工具,但最近我在 J2SE 上切换到标准 JUnit + MicroEmulator。这类似于使用 MockME,但使用的是 MicroEmulator。我更喜欢 MicroEmulator,因为它具有组件的实际实现,并且您可以在其上运行整个 MIDlet。不过,我自己从未使用过 MockME。

    我所有的非 GUI 单元测试都是通过简单地使用 MicroEmulator 作为库来运行的。这样做的好处是所有 JUnit 工具都可以无缝工作,特别是 Ant、Maven、大多数 IDE 和持续集成工具。由于它在 J2SE 上运行,您还可以使用泛型和 JUnit 注释等功能,这使得编写单元测试变得更好。

    RecordStore 等一些组件在工作之前需要进行一些设置。这是通过 MIDletBridge.setMicroEmulator() 完成的。

    使用 MicroEmulator 的另一个好处是可以自定义一些组件的实现,例如 RecordStore。我使用内存中的 RecordStore,它在每次测试之前都会重新创建,这样我就可以确保测试独立运行。

    真实设备

    上述方法无法在任何真实设备上运行。但是,在我看来,只有 GUI 和验收测试需要在真实设备上运行。为此,mVNCT-Plan Robot 之类的工具可以在 Symbian 设备上使用(感谢this blog post)。但是,我只能让 mVNC 通过蓝牙工作,而且速度很慢。

    另一种方法可能是使用The Forum Nokia Remote Device Access (RDA) 之类的服务。我仍然需要调查这样的平台是否适合自动化测试。

    【讨论】:

    • 能否给我更多关于使用 MicroEmulator+Junit 进行非 GUI 测试的教程?
    【解决方案4】:

    嗯...我自己还没有开发过移动应用程序,但我认为 J2MEUnit 是更好的选择,因为它基于原始的 JUnit,它有一个庞大的社区并且得到大多数 IDE 的支持,所以它应该很容易运行至少那些不直接从您的 IDE 依赖移动硬件的测试。

    更重要的可能是 J2MEUnit 与 ANT 集成,因此您可以在每次构建时运行测试。

    【讨论】:

      【解决方案5】:

      我找到的相关文档(发布问题后)是Testing Wireless Java Applications。它在文档结尾处描述了 J2MEUnit。

      【讨论】:

        猜你喜欢
        • 2011-05-10
        • 1970-01-01
        • 1970-01-01
        • 2011-01-16
        • 1970-01-01
        • 2010-11-17
        • 1970-01-01
        • 1970-01-01
        • 2010-09-06
        相关资源
        最近更新 更多