<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Comparison of Java ME unit testing frameworks</title>
	<atom:link href="http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/</link>
	<description>Programming, Web and all things Computer.</description>
	<lastBuildDate>Sat, 31 Jul 2010 12:48:57 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: It&#8217;s not just code &#187; Archives &#187; Unit testing java mobile</title>
		<link>http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/comment-page-1/#comment-8358</link>
		<dc:creator>It&#8217;s not just code &#187; Archives &#187; Unit testing java mobile</dc:creator>
		<pubDate>Tue, 22 Jul 2008 08:05:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/#comment-8358</guid>
		<description>[...] a unit testing framework for Java ME it seems not much has happened. There seems to be basically three options and none of them seems very actively developed. I wonder [...]</description>
		<content:encoded><![CDATA[<p>[...] a unit testing framework for Java ME it seems not much has happened. There seems to be basically three options and none of them seems very actively developed. I wonder [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JUnit cho J2ME &#171; Giangpd&#8217;s home</title>
		<link>http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/comment-page-1/#comment-8112</link>
		<dc:creator>JUnit cho J2ME &#171; Giangpd&#8217;s home</dc:creator>
		<pubDate>Tue, 08 Jul 2008 09:15:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/#comment-8112</guid>
		<description>[...] So sánh và đánh giá các Unit test cho J2ME [...]</description>
		<content:encoded><![CDATA[<p>[...] So sánh và đánh giá các Unit test cho J2ME [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl</title>
		<link>http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/comment-page-1/#comment-5993</link>
		<dc:creator>Carl</dc:creator>
		<pubDate>Fri, 29 Feb 2008 10:46:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/#comment-5993</guid>
		<description>The company that I&#039;m at uses TDD for MIDP using JMUnit and a MIDP mock object framework that we wrote.  I don&#039;t come from a TDD background but my experience has been
1.  I don&#039;t find adding the tests to the JMUnit switch statement a pain but I&#039;ve got into a rhythm that I like: (1) write the test, (2) add the test to the switch statement, (3) run the emulator, (4) check that the test fails, (5) do the implementation, run the test in the emulator again.  Perhaps because I don&#039;t come from another TDD background I don&#039;t find steps (2) and (3) particularly onerous because I don&#039;t have anything to compare against.

2. I find that I spend more time writing tests than application code but I&#039;m happier with the application code that I produce; I spend less time coding and more time thinking (since I have to think about how to write testable code).

3.  The MIDP apps that we write seem to have a lot of UI components and the application logic associated with actions for Forms, Lists, Canvases and even non-UI components may be common to several.  When I find that I&#039;m having to write a test that is similar to one that I&#039;ve written for some other component I tend to extract a superclass, and then write tests for the super class so that I know that I don&#039;t have to write boilerplate test code for the other classes that will extend the super class. I.e. I refactor more than I used.  Naturally the unit tests give one a warm glow when they still pass after the refactoring.

4. When bugs are found outside of unit testing, I have been surprised at how easy it is to write short unit tests to replicate the bugs.  TDD would appear to result in code whose testability goes beyond the tests written for the TDD.

I&#039;m sure that none of the above is surprising to experienced TDD developers but as a Java ME developer who doesn&#039;t come from a TDD background I found the test, code, test idiom great. 

Finally, my feeling is that TDD in Java ME results in high quality code.  In particular on my current project I have written 225 unit tests of which 221 were written as part of the TDD process.  Outside of unit testing I found 3 bugs myself and 3 of the unit tests reflect those 3 bugs.  A fourth bug was found during QA and the 225th unit test was written to replicate the bug.

Now for some caveats:
1. I&#039;m not an authority on TDD.
2. Other people feel that writing testable Java ME code bloats it which may be serious if you&#039;re building for old MIDP 1.0 devices.  My feeling is that TDD allows for easier refactorings and that the refactorings can lead to significant code saving optimisations.  But I have no metrics for either point of view.</description>
		<content:encoded><![CDATA[<p>The company that I&#8217;m at uses TDD for MIDP using JMUnit and a MIDP mock object framework that we wrote.  I don&#8217;t come from a TDD background but my experience has been<br />
1.  I don&#8217;t find adding the tests to the JMUnit switch statement a pain but I&#8217;ve got into a rhythm that I like: (1) write the test, (2) add the test to the switch statement, (3) run the emulator, (4) check that the test fails, (5) do the implementation, run the test in the emulator again.  Perhaps because I don&#8217;t come from another TDD background I don&#8217;t find steps (2) and (3) particularly onerous because I don&#8217;t have anything to compare against.</p>
<p>2. I find that I spend more time writing tests than application code but I&#8217;m happier with the application code that I produce; I spend less time coding and more time thinking (since I have to think about how to write testable code).</p>
<p>3.  The MIDP apps that we write seem to have a lot of UI components and the application logic associated with actions for Forms, Lists, Canvases and even non-UI components may be common to several.  When I find that I&#8217;m having to write a test that is similar to one that I&#8217;ve written for some other component I tend to extract a superclass, and then write tests for the super class so that I know that I don&#8217;t have to write boilerplate test code for the other classes that will extend the super class. I.e. I refactor more than I used.  Naturally the unit tests give one a warm glow when they still pass after the refactoring.</p>
<p>4. When bugs are found outside of unit testing, I have been surprised at how easy it is to write short unit tests to replicate the bugs.  TDD would appear to result in code whose testability goes beyond the tests written for the TDD.</p>
<p>I&#8217;m sure that none of the above is surprising to experienced TDD developers but as a Java ME developer who doesn&#8217;t come from a TDD background I found the test, code, test idiom great. </p>
<p>Finally, my feeling is that TDD in Java ME results in high quality code.  In particular on my current project I have written 225 unit tests of which 221 were written as part of the TDD process.  Outside of unit testing I found 3 bugs myself and 3 of the unit tests reflect those 3 bugs.  A fourth bug was found during QA and the 225th unit test was written to replicate the bug.</p>
<p>Now for some caveats:<br />
1. I&#8217;m not an authority on TDD.<br />
2. Other people feel that writing testable Java ME code bloats it which may be serious if you&#8217;re building for old MIDP 1.0 devices.  My feeling is that TDD allows for easier refactorings and that the refactorings can lead to significant code saving optimisations.  But I have no metrics for either point of view.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Beers</title>
		<link>http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/comment-page-1/#comment-2283</link>
		<dc:creator>David Beers</dc:creator>
		<pubDate>Mon, 17 Sep 2007 15:22:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/#comment-2283</guid>
		<description>Is anyone doing Test-Driven Development for MIDP?  I&#039;m interested in seeing these tools compared for how well they support the quick test-code-test-code rhythm you want when doing TDD.  Having to manually add each test to the suite is painful.  So is having to fire up the AMS (in the emulator or a device) to test a bit of application logic that has nothing to do with MIDP specifics. We&#039;ve got some people coming onto our team that are new to TDD and I&#039;m anxious to make the experience as painless as possible or we&#039;ll have trouble getting them to buy in to it.</description>
		<content:encoded><![CDATA[<p>Is anyone doing Test-Driven Development for MIDP?  I&#8217;m interested in seeing these tools compared for how well they support the quick test-code-test-code rhythm you want when doing TDD.  Having to manually add each test to the suite is painful.  So is having to fire up the AMS (in the emulator or a device) to test a bit of application logic that has nothing to do with MIDP specifics. We&#8217;ve got some people coming onto our team that are new to TDD and I&#8217;m anxious to make the experience as painless as possible or we&#8217;ll have trouble getting them to buy in to it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fffidalgo</title>
		<link>http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/comment-page-1/#comment-1473</link>
		<dc:creator>fffidalgo</dc:creator>
		<pubDate>Tue, 14 Aug 2007 11:59:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/#comment-1473</guid>
		<description>What about MoMEUnit?
Its like J2MEUnit but with a better GUI

SE Mobile Unit is worst solution because you only can run test by DebugOnDevice and not directly on any device

I am waiting to J2MEUnit 2.0, really it sound pretty good

FFFidalgo</description>
		<content:encoded><![CDATA[<p>What about MoMEUnit?<br />
Its like J2MEUnit but with a better GUI</p>
<p>SE Mobile Unit is worst solution because you only can run test by DebugOnDevice and not directly on any device</p>
<p>I am waiting to J2MEUnit 2.0, really it sound pretty good</p>
<p>FFFidalgo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: arcoxia</title>
		<link>http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/comment-page-1/#comment-36</link>
		<dc:creator>arcoxia</dc:creator>
		<pubDate>Fri, 27 Apr 2007 01:54:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/#comment-36</guid>
		<description>&lt;strong&gt;arcoxia...&lt;/strong&gt;

This is a great article. I am new to your blog and i like what I see. I look forward to your future work.thanks for the tips. arcoxia if i made this at the beginning all the things were much easier....</description>
		<content:encoded><![CDATA[<p><strong>arcoxia&#8230;</strong></p>
<p>This is a great article. I am new to your blog and i like what I see. I look forward to your future work.thanks for the tips. arcoxia if i made this at the beginning all the things were much easier&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Disco Blog &#187; Blog Archive &#187; The weekly bag&#8211; April 6</title>
		<link>http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/comment-page-1/#comment-13</link>
		<dc:creator>The Disco Blog &#187; Blog Archive &#187; The weekly bag&#8211; April 6</dc:creator>
		<pubDate>Fri, 06 Apr 2007 16:47:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/#comment-13</guid>
		<description>[...] Comparison of Java ME unit testing frameworks- Testing code on mobile devices? This is your page, man. [...]</description>
		<content:encoded><![CDATA[<p>[...] Comparison of Java ME unit testing frameworks- Testing code on mobile devices? This is your page, man. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mikhail Gorshenev</title>
		<link>http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/comment-page-1/#comment-10</link>
		<dc:creator>Mikhail Gorshenev</dc:creator>
		<pubDate>Thu, 05 Apr 2007 15:48:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/#comment-10</guid>
		<description>Good post Vladimir!

One thing I find hard to accept in JMUnit APIs is that the test class hierarchy uses MIDlet as its base class (Assertion extends MIDlet).
First, it ties all tests to the MIDP platform and they are not reusable elsewhere even if the code under test is not MIDP-specific.
Second, it limits test automation possibilities. MIDP spec restricts MIDlet creation: only AMS is allowed to call &quot;new MIDlet()&quot;. This means that the only way to run JMUnit test is to use AMS to manually start the test; one cannot write a custom launcher without changing JMUnit APIs.
The other annoyance with the MIDlet-based hierarchy is that one cannot build JMUnit tests into the existing MIDP applications which are MIDlets themselves.

Hopefully, JMUnit 2.0 (the next version, which is supposed to be a merger of J2MEUnit and JMUnit) will fix the hierarchy and make it independent of the application model.</description>
		<content:encoded><![CDATA[<p>Good post Vladimir!</p>
<p>One thing I find hard to accept in JMUnit APIs is that the test class hierarchy uses MIDlet as its base class (Assertion extends MIDlet).<br />
First, it ties all tests to the MIDP platform and they are not reusable elsewhere even if the code under test is not MIDP-specific.<br />
Second, it limits test automation possibilities. MIDP spec restricts MIDlet creation: only AMS is allowed to call &#8220;new MIDlet()&#8221;. This means that the only way to run JMUnit test is to use AMS to manually start the test; one cannot write a custom launcher without changing JMUnit APIs.<br />
The other annoyance with the MIDlet-based hierarchy is that one cannot build JMUnit tests into the existing MIDP applications which are MIDlets themselves.</p>
<p>Hopefully, JMUnit 2.0 (the next version, which is supposed to be a merger of J2MEUnit and JMUnit) will fix the hierarchy and make it independent of the application model.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Wendong Li</title>
		<link>http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/comment-page-1/#comment-9</link>
		<dc:creator>Wendong Li</dc:creator>
		<pubDate>Thu, 05 Apr 2007 15:25:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.emptyway.com/2007/04/05/comparison-of-java-me-unit-testing-frameworks/#comment-9</guid>
		<description>How about cldcunit?
http://pyx4me.com/snapshot/pyx4me/pyx4me-cldcunit/index.html

The only drawback of SE Mobile JUnit is that it is not open sourced so you can not customize or improve it for your own purpose.</description>
		<content:encoded><![CDATA[<p>How about cldcunit?<br />
<a href="http://pyx4me.com/snapshot/pyx4me/pyx4me-cldcunit/index.html" rel="nofollow">http://pyx4me.com/snapshot/pyx4me/pyx4me-cldcunit/index.html</a></p>
<p>The only drawback of SE Mobile JUnit is that it is not open sourced so you can not customize or improve it for your own purpose.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
