JavaME中最佳的单元测试框架是什么?
当前,什么是JavaME单元测试的最佳工具?我以前从未真正使用过单元测试(可耻!),因此学习曲线很重要。对于回答,我将不胜感激。 :)
解决方案
老实说,我在Java中使用过的唯一的单元测试器是JUnit,它的子项目名为DBUnit,用于数据库测试...我假设我们在J2ME下不需要。
只要IDE支持JUnit,它就很容易用于单元测试(Eclipse内置了对JUnit的支持)。我们只需使用@Test批注标记测试(我认为是org.junit.Test)。我们还可以指定应在每个测试中运行@Before或者@After以及在整个类之前或者之后运行的方法(使用@BeforeClass和@AfterClass)。
不过,我从未在J2ME下使用JUnit,而是在工作中使用J2EE。
从来没有找到优秀的。我们可以尝试阅读此文档:
如何使用它
和这里的链接:下载
由索尼爱立信(Sony Ericsson)制造,但可用于任何J2ME开发。
而且,我建议我们花一些时间来学习纯Java的单元测试,然后再攻击移动平台上的单元测试。吞下一根笋可能很大。
祝你好运!
我们可以尝试使用一个名为J2MEUnit的框架,但是看起来它仍在积极开发中:
http://j2meunit.sourceforge.net
我认为这取决于我们计划进行哪种测试。我们会使用持续集成吗?必须在手机上运行测试。
如果测试是更多的逻辑/数据处理测试,则可以使用JUnit做得更好。但是,如果我们需要使用javax.microedition。*中的某些类,那么事情将变得有些棘手,但并非没有可能。
一些示例:测试屏幕上的文字换行,需要javax.microedition.lcdui.Font。我们不能仅使用WTK附带的jar创建一个字体类,因为在初始化时它将调用一些本机方法,这些方法不可用。
对于这些测试,我创建了J2ME的存根实现。基本上,这些是我自己对J2ME类的解释。我可以在此处设置一些准备工作(例如,每个字符的宽度为5像素,等等)。它的运行非常好,因为我的测试只需要知道J2ME类如何响应,而不是它们在内部实现的方式。
对于网络测试,我使用了MicroEmulator的网络实现,并且效果很好。
单元测试的另一个问题是,最好将移动项目作为使用Java 4,5,6的Java项目,因为用1.3编写测试对我来说是一种痛苦。
我相信,从JUnit开始就可以正常运行。并且如果提出了其他一些要求(在手机上运行测试),则可以探索替代方案。