Java: Reihenfolge der Testmethoden mit FixMethodOrder in JUnit festlegen

JUnit Testmethoden sollten so geschrieben werden, das sie unabhängig von anderen Methoden sind. Die Reihenfolge der ausführung der Test-Methoden in einer Testklasse ist auch nicht garantiert und kann von lauf zu lauf unterschiedlich sein. Das ist auch gut so. Manchmal möche man aber dennoch eine bestimmte Reihenfolge. Dies kann seit JUnit 4.11 mit der @FixMethodOrder(MethodSorters.NAME_ASCENDING …

JUnit 4.12 erschienen

Nach über 2 Jahren ist nun eine neue Version von JUnit veröffentlicht worden. Die Releasenotes sind auf Github zu finden. In folgenden Bereichen gab es Ergänzungen: Assertions Command-line options Test Runners Exception Testing Timeout for Tests Parameterized Tests Rules Theories Categories Use with Maven Miscellaneous Ok, dann mal gleich das aktuelle Maven Projekt TWFlug auf …

JUnit mit ein assert pro Test

Die Regel, nur eine assert-Anweisung pro Testmethode zu verwenden, mag drakonisch klingen erleichtert aber die Übersicht (siehe Blog von Dave Astels). Obwohl ich auch keine Angst habe von dieser Regel abzuweichen. Was ist Eure Meinung? Wer testet ist feige?

JUnit – assertEquals

Was ist richtig? … String testString = testobjekt.getTestwertAlsString(); // a: assertEquals(„expected“, testString); // oder // b: assertEquals(testString, „expected“);

Gurken-Test mit Cucumber

Mit Cucumber können Testfälle schön in Worte beschrieben werden. Hier mal ein schneller quick Einstieg. Eine Testfall Beschreibung kann in Worten mit der Gherkin Syntax geschehen, z.B diese kalender.feature:

In Eclipse sind die JUnit-Test auch schön lesbar, z.B.: Für Eclipse gibt es ein Natural 0.7.6 Plug-In für die *.feature Dateien. Das kann leicht über …

Wie können Artifacte nach Maven Central (Nexus) mit einem Mac hochgeladen werden?

Wie können Artifacte wie Jars usw. in das Nexus Maven Central Repository mit einem Mac (Windows analog) hochgeladen werden? Das geht in 4 Schritten, die hier am Beispiel von de.wenzlaff.dump1090 beschrieben werden. Einen Atlassian Account und Jira Ticket anlegen Zuerste benötigen wir einen Accout bei Atlassian den wir hier beantragen können. Evl. haben wir ja …

List to CSV mit Java 1.8 und Eclipse Neon

Mal schnell ein erstes Beispiel, um zu sehen ob Java 1.8 mit Eclipse Neon wie gewünscht läuft. Die neue stream Methode des Collection Interface, kann gut dafür verwendet werden, Listen formatiert auszugeben, hier ein Beispiel: Und hier das JUnit Ergebnis:

CSV Testdaten Generator (Oder wer testet ist feige? NEIN) und mehr Tools für CSV to …

Mit dem CSV-Testdaten-Generator kann schnell und einfach jegliche Art von Testdaten erzeugt werden. Die dann leicht in JUnit und sonstwie weiterverwendet werden können. Auch andere gute Tools für die Bearbeitung von CSVs sind dort zu finden. z.B. Convert CSV To Delimited – reformat, filter, and sort delimited data Convert CSV To Fixed Width or ASCII …

Anzeigen aller benutzten und ungenutzen Abhängigkeiten mit Maven.

mvn dependency:analyze Erzeugt z.B.: … [INFO] — maven-dependency-plugin:2.0:analyze (default-cli) @ twsendsms — [WARNING] Used undeclared dependencies found: [WARNING] com.google.gdata:gdata-core-1.0:jar:1.41.5:compile [WARNING] com.google.gdata:gdata-contacts-3.0:jar:1.41.5:compile [WARNING] com.google.gdata:gdata-client-1.0:jar:1.41.5:compile [WARNING] Unused declared dependencies found: [WARNING] junit:junit:jar:sources:4.7:compile [WARNING] junit:junit:jar:4.7:test [WARNING] google-data:google-data:jar:0.0.1:compile [INFO] ———————————————————————— [INFO] BUILD SUCCESS

Wie können alle transitiven Abhängigkeiten eines Projektes mit Maven angezeigt werden?

mvn dependency:tree Ausgabe z.B.: [INFO] Building twsendsms 0.1.0 [INFO] ———————————————————————— [INFO] [INFO] — maven-dependency-plugin:2.0:tree (default-cli) @ twsendsms — [INFO] de.wenzlaff.twsendsms:twsendsms:jar:0.1.0 [INFO] +- junit:junit:jar:4.7:test [INFO] +- commons-codec:commons-codec:jar:1.4:compile [INFO] +- telekom-sdk-java:java-sdk:jar:3.1.10:compile [INFO] +- junit:junit:jar:sources:4.7:compile [INFO] +- log4j:log4j:jar:1.2.4:compile [INFO] \- google-data:google-data:jar:0.0.1:compile [INFO] +- com.google.gdata:gdata-contacts-3.0:jar:1.41.5:compile [INFO] | \- com.google.gdata:gdata-client-1.0:jar:1.41.5:compile [INFO] \- com.google.gdata:gdata-core-1.0:jar:1.41.5:compile [INFO] +- com.google.collections:google-collections:jar:1.0-rc1:compile [INFO] \- com.google.code.findbugs:jsr305:jar:1.3.9:compile [INFO] …

Tastaturkommandos

Meine Top 6 der Tastaturkommandos die das Programmiererleben mit Eclipse erleichtern: 1. Vor jedem einschecken nach Dimensions: