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
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
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
Here I will show how to get bytes from a ByteBuffer. This isn’t as simple as it sounds. Continue reading
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.
Did you ever consider learning OOP (Object-oriented programming)? Or maybe you want just write a little code in Java? But you don’t want build an Enterprise level Project or study 1 Day, how to start with a “hello world” project? If you can answer one or more of these questions with yes, BlueJ might be the solution for you.
Why should we leave apache common collection?
Lists, Sets Maps
New collection types
Helpers for Iterator
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:
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.
Did you had the problem your mock must act like a bean? And you could not create the object with the real implementation? And the interface was too large, so you would not create a innerclass for the test? I had this problem too. I solved it with the answer in 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.