您会为J2ME推荐哪些单元测试框架?

时间:2008-09-22 11:12:23

标签: unit-testing testing java-me

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

到目前为止,我已经看过J2MEUnit,但我现在还没有得到它的支持。我见过JavaTest Harness,但我不知道这不是一个矫枉过正的事。

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

谢谢, 阿萨夫。

5 个答案:

答案 0 :(得分:5)

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

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

  • JMEUnit。 (J2MEUnit的未来合并 和JMUnit)JMUnit不支持 Ant但接口类似于 MoMEUnit。 J2MEUnit不提供 非常有用的信息 试验。两者中的测试创建 框架有点复杂。 J2MEUnit支持Ant;那是 为什么两个框架合并 会非常有趣(他们有 已经在int工作了一年多 o less)

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

J2ME的一些测试单元框架:

答案 1 :(得分:5)

同样看一看MockME。

www.mockme.org

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

答案 2 :(得分:2)

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和验收测试。为此,可以在Symbian设备上使用mVNCT-Plan Robot等工具(感谢this blog post)。但是,我只能让mVNC通过蓝牙工作,而且速度很慢。

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

我发现的相关文件(发布问题后)是Testing Wireless Java Applications。它描述了文档末尾附近的J2MEUnit。