Assert equals between 2 Lists in Junit

For junit4! This question deserves a new answer written for junit5. I realise this answer is written a couple years after the question, probably this feature wasn’t around then. But now, it’s easy to just do this: @Test public void test_array_pass() { List<String> actual = Arrays.asList(“fee”, “fi”, “foe”); List<String> expected = Arrays.asList(“fee”, “fi”, “foe”); assertThat(actual, … Read more

What is the JUnit XML format specification that Hudson supports?

I did a similar thing a few months ago, and it turned out this simple format was enough for Hudson to accept it as a test protocol: <testsuite tests=”3″> <testcase classname=”foo1″ name=”ASuccessfulTest”/> <testcase classname=”foo2″ name=”AnotherSuccessfulTest”/> <testcase classname=”foo3″ name=”AFailingTest”> <failure type=”NotEnoughFoo”> details about failure </failure> </testcase> </testsuite> This question has answers with more details: Spec. for … Read more

Is Java’s assertEquals method reliable?

You should always use .equals() when comparing Strings in Java. JUnit calls the .equals() method to determine equality in the method assertEquals(Object o1, Object o2). So, you are definitely safe using assertEquals(string1, string2). (Because Strings are Objects) Here is a link to a great Stackoverflow question regarding some of the differences between == and .equals().

IntelliJ IDEA with Junit 4.7 “!!! JUnit version 3.8 or later expected:”

This problem happens because Android Platform (android.jar) already contains JUnit classes. IDEA test runner loads these classes and sees that they are from the old JUnit, while you are trying to use annotated tests which is a feature of the new JUnit, therefore you get the error from the test runner. The solution is simple, … Read more

Changing names of parameterized tests

This feature has made it into JUnit 4.11. To use change the name of parameterized tests, you say: @Parameters(name=”namestring”) namestring is a string, which can have the following special placeholders: {index} – the index of this set of arguments. The default namestring is {index}. {0} – the first parameter value from this invocation of the … Read more