Home / Posts tagged "Java"

Create your own hamcrest matcher

If you are familiar with hamcrest and JUnit the time will come when you have
the need to create your own matchers.
Creating your own matcher can be as simple as useful. One reason for
creating your own matcher could be that your object is not a default object
like a String or a Collection. And if you would like to get a more readable
version of the assert for the next developer who has to read your
test. Let’s make an example. If you have an object with two methods;
getName” and “getNumber” and you would like to check whether the resulting object
has the correct values.
In my opinion the best way to verify this is to create two matchers and
combine them. Before we can combine these two matchers let’s see how to
create them. Continue reading

Easier JUnit testing with hamcrest

Have you ever thought that JUnit assertions are not really readable and do not correspond to natural language? It is a mess that the expected value is the first argument on an assert? This would not be like the spoken language where you would say “assert that this value is equal to this expected one” ? Or have you had tests where the expected value and the value to test were inverted? In this case you have not found an old friend of JUnit called hamcrest. Continue reading

No more development, TDD begins with MoreUnit

Do you program or do you already TDD? 🙂
If you prefer to do TDD you will love the eclipse plug-in called MoreUnit. It is as simple as powerful. All it does is executing tests from corresponding productive class and makes it very simple to change between them.
Just press Ctrl-J (like Jump) to jump from test to implementing class and the other way. Or press Ctrl-R (like Run) to run the test regardless if you are in the test or the implementation class. Continue reading

Mockito – ArgumentMatcher vs ArgumentCaptor

Since a few weeks the new mockito release candidate is available. So I think it is the right time to place a new post. Here I will show the differences between ArgumentMatcher and ArgumentCaptor. Most developer will first see the ArgumentMatcher and use it. What can be done with ArgumentCaptor is often not seen. With the sample I will show that an ArgumentMatcher should not be used to fetch arguments. For this work there is the ArgumentCaptor. The Matcher should really be used to check if an argument matches or not.
Continue reading

Google Collections

Why should we leave apache common collection?
There are several reasons to change the collections framework.
Since the apache collections should be backward compatible it would not be possible to change to a actual Java version. It would be necessary to change to another collection framework (or write all the stuff by yourself).
There are several projects which created a collections framework by themselves or took the apache collection library and upgraded it with generics.
Guava is a project like the apache commons. Since a few weeks the Google collection project is now in the guava project integrated.
I just will take a view to the collection package in the guava library.
What is in the guava-collection?
Helper classes for:

  • Lists, Sets Maps
  • New collection types
  • New immutables
  • Helpers for Iterator
  • Continue reading

    VI like editing in eclipse

    Since a few days I’m using a plugin in eclipse which allows vi like editing. It’s called vrapper and can be found under http://vrapper.sourceforge.net. It is a very good light weight alternative to commercial vi plugins. In my opinion there are not more disadvantages as in other vi plugins.
    Sometimes it has hangers, this means it does not fall back to the main state instead it hangs in any command mode. In this rare cases normally helps to restart the plugin with the icon in eclipse.
    The installation is very simple, only add the stable update site (http://vrapper.sourceforge.net/update-site/stable). Or if not possible to use the update site just download the file from http://sourceforge.net/projects/vrapper/files/, just copy the files into the plugins directory 😉 .

    If you like to use vi commands look in and check it out.

    Create mocks with mockito

    This is a small summarization what the differences are between the different variations creating mocks with mockito.

    Null values (default)

    Per default, after creating a mock, every method will return null. Just create your mock with:

    Sample sample = Mockito.mock(ISample.class);

    I think, this is very useful and straight forward. (And based by mockito developers idea, to create very fast a mock for testing). Sometimes it is very difficult to determine an error which was produced through such a null value. For this case it is very practicable to tell mockito, returning SmartNullValues.

    Continue reading