Für alle, die noch nie mit dem JUnit-Testframework gearbeitet haben, habe ich mal eine Testklasse geschrieben, die eine beispielhafte Klasse testet.
Mit NetBeans lassen sich JUnit-Vorlagen ganz einfach erstellen, indem man einen Rechtsklick auf sein Projekt macht und dann „New“ -> „Other“ -> „JUnit“ auswählt. Die daraufhin im Wizard erstellten Testklassen befinden sich dann in „Test Packages“.
Beispielklasse: ExampleUser.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | public class ExampleUser { private String vorname; private String nachname; private int alter; @Override public boolean equals(Object other) { if (other == null) return false; if (other == this) return true; if (this.getClass() != other.getClass()) return false; ExampleUser otherInstance = (ExampleUser) other; if ( otherInstance.vorname.equals(this.vorname) && otherInstance.nachname.equals(this.nachname) && otherInstance.alter == this.alter ) { return true; } else return false; } @Override public int hashCode() { int hash = 7; hash = 37 * hash + (this.vorname != null ? this.vorname.hashCode() : 0); hash = 37 * hash + (this.nachname != null ? this.nachname.hashCode() : 0); hash = 37 * hash + this.alter; return hash; } // Setter and Getter public int getAlter() { return alter; } public void setAlter(int alter) { this.alter = alter; } public String getNachname() { return nachname; } public void setNachname(String nachname) { this.nachname = nachname; } public String getVorname() { return vorname; } public void setVorname(String vorname) { this.vorname = vorname; } } |
Testklasse: ExampleUserTest.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.*; public class ExampleUserTest { private static ExampleUser user1; private static ExampleUser user2; public ExampleUserTest() { super(); } @BeforeClass public static void setUpClass() throws Exception { // User 1 user1 = new ExampleUser(); user1.setVorname("Benny"); user1.setNachname("Neugebauer"); user1.setAlter(23); // User 2 user2 = new ExampleUser(); user2.setVorname("Benny"); user2.setNachname("Neugebauer"); user2.setAlter(23); } @AfterClass public static void tearDownClass() throws Exception { // Free memory user1 = null; user2 = null; } /** * Test of equals method, of class ExampleUser. */ @Test public void testEqualObjects() { assertEquals("Test if Benny is Benny.", true, user1.equals(user2)); } @Test public void testIfUserEqualsNull() { user2 = null; assertEquals("Test if Benny is null.", false, user1.equals(user2)); } @Test(expected = NullPointerException.class) public void testIfNullHasEqualsMethod() { user1 = null; assertEquals("Check if 'equals' is possible for 'null'.", user1.equals(user2)); } } |
Hallo Benny,
schönes Beispiel. Nur kurze und knappe Erläuterungen dazu wären denke ich echt hilfreich.
Gruß
apox
Irgendwelche Wünsche?
hi was ist junit
Siehe: https://secure.wikimedia.org/wikipedia/de/wiki/JUnit