Mittwoch, 17. Dezember 2008

Preparing next release

Tonight I started to prepare the next release (1.2.X). After tagging I started to test. Therefore I created a new test workspace. In this workspace I created some different kind of projects (one/several test folders...) ans started to test.
Further testing is necessary. In addition a detailed test plan would be helpful.

Mittwoch, 10. Dezember 2008


Last week I rewrote all the test to get better code.
Yesterday I started to switch from JMock to EasyMock (because I am much more familiar with EasyMock). In addition I installed EclEmma to check code coverage. As a consequence I would like to increase test coverage before the next release.

Sonntag, 30. November 2008

Started test refactoring

The actual tests of moreUnit contain some code smells. Tonight I started to refactor the tests.

Donnerstag, 27. November 2008

New feature finished

A basic version to support package rename refactorings has been implemented earlier this week. Tonight I enhanced the basic version with some security checks (no rename if a package within a testfolder gets renamed).

Montag, 24. November 2008

Package rename

Some weeks ago there was a bug report that a package rename doesn't cause moreUnit to rename corresponding test packages. Tonight I implemented a first version, which handles package rename. But there are still some enhancements neccessary: don't rename if refactoring is started in a test source folder...

Sonntag, 23. November 2008


Improved TestNG support seems to work now. In addition I fixed a bug which was reported from the SWTBot developer. At first I was not able reproduce the problem but as SWTBot is open source I did checkout the project and was able to see the buggy behaviour. Two bugfixes later switching seems to work again :-) Time to say goodnight.

Mittwoch, 19. November 2008

First tests

After the implementation I started to test the new wizard page but it seems to be a little buggy, the wizard doesn't recognize the test type selection. Some bug fixing is necessary.

Sonntag, 16. November 2008

NewTestCaseWizard with TestNG

The new testcase wizard page one supports class creation for TestNG now. Just implemented and not tested yet. I think it would be good to look for an opensource project which writes TestNG tests to take a look how TestNG is used in projects, because I do use JUnit only.

Dienstag, 4. November 2008

Weired exceptions

Tonight I wanted to work on the new wizard page for TestNG support.
After integrating a first version some weired errors occured:

04.11.08 20:25:57 [0x0-0x2a02a].org.eclipse.eclipse[216] java.lang.NoClassDefFoundError: ch/ethz/iks/slp/ServiceLocationEnumeration
04.11.08 20:25:57 [0x0-0x2a02a].org.eclipse.eclipse[216] at java.lang.Class.getDeclaredConstructors0(Native Method)
04.11.08 20:25:57 [0x0-0x2a02a].org.eclipse.eclipse[216] at java.lang.Class.privateGetDeclaredConstructors(
04.11.08 20:25:57 [0x0-0x2a02a].org.eclipse.eclipse[216] at java.lang.Class.getConstructor0(
04.11.08 20:25:57 [0x0-0x2a02a].org.eclipse.eclipse[216] at java.lang.Class.newInstance0(
04.11.08 20:25:57 [0x0-0x2a02a].org.eclipse.eclipse[216] at java.lang.Class.newInstance(
04.11.08 20:25:57 [0x0-0x2a02a].org.eclipse.eclipse[216] at org.eclipse.osgi.frame

Montag, 3. November 2008


A long time is gone since my last blog. There was a new release of MoreUnit (1.1.4).
After the release I had some weeks off for a vacation. Tonight I started to improve TestNG support. Therefore I have to extend the TestCaseCreationWizard of the JUnit eclipse plugin. As a consequence I have to use code from org.eclipse.jdt.internal.* :-(

Montag, 1. September 2008

Documentation update

After a long summer break I started to finish the last bugfixes (yesterday) and tonight I began to update the documentation. Because there a several new features (e.g. project specific settings with source/test-folder mapping) it would be nice to have some examples/screenshots for this.

Donnerstag, 31. Juli 2008

Ganymede release

This week I switched from Europe to Ganymede and here is what happened:

First of all i missed the 'Software Updates/Manage configuration' menu which I used to add my extension locations with every new release/milestone.
What happened? With Ganymede the update mechanism changed (p2). After googling I found several posts about this topic. As a hotfix I linked my extension from the dropins folder. But I dislike this hack because I think this will not work with plugin updates. As a consequence I started reading some sites about p2 and found lot's of stuff about cool new features like bundle pooling, but what I missed was an short/easy tutorial to get these stuff working for me.
Conclusion: p2 sounds interesting but will take some time to get configured if you want to use bundle pooling.

After working with Ganymede for a while I had problems with my cursor, it disappear and reappeared only if I moved the invisible cursor out of the eclipse workbench window. This is a "annoying feature" so I wanted to find out if other users have the same problem working with Ganymede on Mac.
A short search in bugzilla and the following entry occured:
Exactly the same problem, so I added a comment. In the meanwhile the bug is fixed. This really rocks about eclipse :-) A open bug database and fast feedback from the team. Cool.

A small new nice feature is the 'Restart' menu.

That's it for the first days using Ganymede.

Montag, 26. Mai 2008

Small bugfix for TestNG

There was a bug using TestNG. In the testcase creation wizrd MoreUnit chose the wrong superclass (org.junit.TestCase). This is fixed now.

Donnerstag, 15. Mai 2008

Missing validation

The new property page did not validate if the user configured at least one folder as test folder for the project and threw a nasty NPE. So I have added some validation and show a error message if the test source folder config is not finished yet.

Dienstag, 13. Mai 2008

Another bugfix

There was a problem with sourcefolder in a subfolder (e.g. "test/src").
So I've written some tests for this and made them pass.
Hopefully there are no more bugs because of the huge refactoring for source folder mapping support.

Montag, 5. Mai 2008


There were some bugs with the new pre-release, so I spent some time in bugfixing.
Last week I got a mail about a TestNG-problem with moreUnit.
So I'm still working on bugfixing.
As the weather is great at the moment my progress is not so good...

Mittwoch, 23. April 2008

Preparing new release

After 10 days of vacation I am back again. I fixed a bug with the project specific settings. Now it's time for a new release (1.1.x). CVS has a new tag now and test phase is started.

Sonntag, 23. März 2008

User settings

The new property page for MoreUnit is finished. Last week I spend some time to get the test running again.
There was a enhancement request to store the settings within the project. Today I got started with scopes for preferences and implemented a first version which stores the project specific settings within the project folder.

Sonntag, 16. März 2008

Source folder mapping

This weekend I implemented the source folder mapping. For every project you can configure test folder and corresponding source folder. It was quite a lot work to make moreUnit run again. Switching seems to work fine again. But there is still much more to do.
Additionally I got some user feedback about a preformance leak. Markus Gebhard gave very valuable feedback about some performance problems. So I invested some time to solve this problem and Markus started his profiler again => MoreUnit is a lot faster now :-)

Mittwoch, 12. März 2008

Checkbox for project specific settings

To enable/disable project specific settings I added a checkbox above the tabs. I have worked with JFace for some evenings now and it's fun to use.

Dienstag, 11. März 2008

Tabs for properties

For a better design I started to reimplement the properties. There should be only one Property page for moreUnit. To have enough space for all the settings I'd like to split them into two tabs.
Todays challenge was to get involved with Tabs in JFace. It was quite easy after I found the classes (TabFolder and TabItem) for it.

Freitag, 7. März 2008

Working prefs

The converter for the prefs are integrated now and everthing seems to work fine.
There are four places, where this pref must be checked (which is not implemented yet)
  • label decoration
  • marker
  • jump
  • test code creation

Mittwoch, 5. März 2008

Converter for prefs

Tonight I've written the converter methods:

This needs to be integrated to the preferences/properties now.

Dienstag, 4. März 2008

How to store complex types in prefs

As the property page for the test source folder is almost completed, I'm wondering (like yesterday) how I can store complex type in the preference-store. IPreferencesStore only handles some basic types. All I found out tonight is the existence PreferencesConverter-class which allows conversion of some complex types between their string representation. But the type I need for MoreUnit is not part of the converter class :-(

Montag, 3. März 2008

Progress with new property page

Tonight I proceeded with the implementation of the new property page. Everthing seems to work fine. What is still missing is the integration of the preferences. I'm wondering how I can make complex objects like IPackageFragmentRoot persistent. There are only setters for some basic types. But this is a job for another evening.

Sonntag, 2. März 2008

Cool new property page

Last week there was some user feedback about the possibilties to configure test source folder.
This weekend during napping I had the idea how to implement this feature request.
After some hours of work I have created a new property page which shows the test source folder (as preferences are not adapted yet for the new feature this page shows all source folder of the underlying project). Additionally I started a wizard for the unit source folder selection.
I learned a lot of stuff about JFace and this was really fun :-) (I'm hoping to find some more freetime to work an this soon)

Freitag, 29. Februar 2008

Minor refactorings

While finishing the new implementation for marker updates I found some minor code smells and removed them. Additionally within these refactorings I fixed a bug for invalid marker update (which happend under some circumstances if you had multiple tests for one class).

Samstag, 23. Februar 2008

Refactoring marker update

The moreUnit now marker get updated every time you open a file.
I have added an IPartListener which starts the marker update every time an IEditorPart is opened or brought to top.

Mittwoch, 20. Februar 2008

Marker for editor

Yesterday I finished the test refactorings. So today I started to do some maintenance. At the moment users have to scan for marker to see them in the editor. The markers are persistent and saved when quitting the workspace.
An enhancement would be to update the marker for the open editor (and no scan for all projects in the workspace will be neccessary anymore).
To implement this I created MarkerUpdater which handles the creation of the markers of an IType. To eat my own food, I used MoreUnit to create plugin tests for MarkerUpdater :-)

Montag, 18. Februar 2008

Test refactoring

Some weeks ago I started to read "XUnit Test Patterns - Refactoring Test Code" and found some test smells within moreUnit. So I started to refactor the testcode to improve maintainability. It's always nice to learn something new and to improve my own code.

Sonntag, 17. Februar 2008

Version 1.0.2

After a long while of preparation I released version 1.0.2 of MoreUnit this weekend with some new features:
  • TestNG support
  • project specific settings
  • move refactoring support
  • improved matching for class under test
  • some bugfixes
It's really cool that I figured out how to address the sourceforge-release-site within my update site. From now on there will be a realistic download statistic including all update-site-users of MoreUnit.

Sonntag, 10. Februar 2008

Update project homepage

Last week I redesigned the project homepage and updated the documentation for the upcoming release which is planned for next week.

Mittwoch, 6. Februar 2008

Second pre-release version

There had been some bugs in the first pre-release version. During bugfixing I finished the refactoring to move all the tests to org.moreunit.test.
Now there is a second pre-release version and I hope to release during the next days.

Dienstag, 29. Januar 2008

Test project for moreUnit

Started to create a test project for moreUnit (org.moreunit.test) to reduce dependencies.
It took me while to figure out how it works.
Short summary:
  • Create a plugin-project without content
  • Copy plugin dependencies from MANIFEST.MF
  • Add org.moreunit as a plugin dependency
  • Needed to export the moreunit-packages ('Runtime'-tab in plugin.xml)

Donnerstag, 17. Januar 2008

Preparation of a new release

I am planning to release a new version of moreunit and started to test the actual version.
There are some bugs which should be fixed but half of the work seems to be done.

Montag, 7. Januar 2008

Preferences UI

Because of the project specific prefs it was necessary to clean up the UI a little bit.
I redesigned the prefix/suffix configuration (which needs less space now).
As a consequence only one pref page is needed.

Mittwoch, 2. Januar 2008

Some small enhancements

Fixed a NPE-bug, if the package does not exist, when a move refactoring needs to move some tests as well.
Started to clean up the preference page.