Platinum Partner
eclipse

JUnit Testing Made Easier With Eclipse Templates

When you’re writing JUnit tests, you’ll often find yourself repeating the same boilerplate code. Take the following code:

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class EngineTest {
@Before
public void setup() {
...
}

@Test
public void test() throws Exception {
...
}

@After
public void tearDown() {
...
}
}

f you want to add a test, you have to somehow add lines 3, 11, 12 and 14 before you even get to the actual test. The same holds for setup and teardown code. We know that Eclipse can help with adding imports automatically when you save or autocomplete, but it still takes time to get everything in place.

Eclipse templates can help take away the drudgery by adding all this boilerplate code automatically. It can automatically add a test, setup and teardown methods together with calls to assertEquals, assertTrue and others. I’m assuming JUnit 4 in all the templates. If you’re new to templates, then see this tip to get an overview.

Import the templates automatically

Download the template below then import it into Eclipse.

  • JUnit_templates: This bundle includes:
    test4: Creates a test method together with the @Test annotation and its import. NB: The 4 at the end is to distinguish it from two other  Eclipse built-in templates called test and Test.
    setup4: Creates a setup method with the @Before annotation and its import.
    teardown4: Creates a teardown method (called tearDown) with an @After annotation and its import.
    asequals: A call to assertEquals with its static import. The expected an actual default to locally available objects, but can easily be changed.
    astrue & asfalse: A call to assertTrue/assertFalse and its static import. The argument defaults to the nearest boolean but can easily be changed.
    asnull & asnotnull: A call to assertNull/assertNotNull and its static import. The argument defaults to the nearest object, but can easily be changed.

If you want to create the templates manually, open the template XML in your favourite XML editor, then see this tip, taking the values from the relevant fields in the XML.

From http://eclipseone.wordpress.com

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}