Globales @Before in JUnit

Wenn man unter JUnit für mehrere Tests einige vorbereitende Schritte benötigt, so kann man dafür die @Before Annotation nutzen:

@Before
public void setup() {
    // Prepare something
}

Das Problem an dieser Methode ist, das dass ganze auf eine Klasse beschränkt ist. Benötigt man die vorbereitenden Schritte in mehreren Klassen, so muss man sich unter JUnit 4 anders behelfen. Dort führt die Lösung über eine abstrakte Klasse:

public abstract class TestBase {
    @Before
    public void setup() {
        // Prepare something
    }
}

Von dieser Klasse können die Klassen mit den Testfällen abgeleitet werden. Allerdings muss man beachten, das es hierbei zu doppelter Initialisierung kommen kann. Unter JUnit 5 kann man dies nun wesentlich einfacher lösen. Dort gibt es die neue Annotation @BeforeAll:

@BeforeAll
public void setup() {
    // Prepare something
}

Mit diese Annotation wird die Initialisierung vor der Ausführung der Tests durchgeführt.

Tests bei Maven überspringen

Wenn man unter Maven mittels:

mvn package

mal schnell ein Paket bauen möchte ohne das dabei die komplette Testsuite eines Paketes ausgeführt wird, kann dies durch den Parameter:

-Dmaven.test.skip=true

erreichen. Alternativ kann der Parameter gekürzt werden:

-Dmaven.test.skip

Komplett würde das ganze dann so aussehen:

mvn package -Dmaven.test.skip

KeyStore Explorer

Wenn man Java-Keystore-Dateien bearbeiten möchte, so kann man dies natürlich mit dem im Java SDK mitgelieferten Kommandozeilentool keytool tun. Einfacher ist es mit der grafischen Anwendung KeyStore Explorer zu arbeiten.

KeyStore Explorer

Mit dem KeyStore Explorer können unter anderem Keystore-Dateien bearbeitet, Zertifikate unterschiedlicher Formate geöffnet und analysiert werden. Zu finden ist das Tool unter keystore-explorer.org. Der KeyStore Explorer ist freie Software und unter der GPL in Version 3 lizenziert. Der Quelltext kann über GitHub bezogen werden.

Zertifikat mittels keytool in einen Keystore importieren

Unter Java ist es möglich mit sogenannten Keystores zu arbeiten. Dabei handelt es sich um Containerdateien in welchen Zertifikate gespeichert werden können. Diese können dann z.B. beim Start eines Tomcat mit übergeben werden. Damit sind die Zertifikate der Java-Applikation bekannt. Möchte man ein solches Zertifikat in einen Keystore importieren, so nutzt man das Tool keytool:

keytool -importcert -file server-ca-web.pem -keystore store.jks -alias "server-ca-web"

Das Tool ist im Java SDK enthalten und wird für die Verwaltung der Keystores genutzt. In diesem Fall wird das Zertifikat server-ca-web.pem in den Keystore store.jks geschrieben.

Maven-Unterstützung zu einem IntelliJ IDEA Projekt hinzufügen

Wenn man unter IntelliJ IDEA eine Java-Projekt ohne Maven-Unterstützung geladen hat und eine solche benötigt, so kann man diese manuell hinzufügen. Dazu reicht es eine pom.xml Datei dem Projekt hinzuzufügen:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>groupId</groupId>
    <artifactId>TestProject</artifactId>
    <version>1.0-SNAPSHOT</version>

</project>

Einfacher und schneller kann das ganze allerdings mit den Bordmitteln von IntelliJ IDEA gelöst werden.

Die Unterstützung für Maven kann einfach hinzugefügt werden

Die Unterstützung für Maven kann einfach hinzugefügt werden

Dazu muss mit der rechten Maustaste auf das Projekt geklickt werden. Dort wird der Punkt Add Framework support… ausgewählt. Anschließend öffnet sich ein Fenster in dem das gewünschte Framework ausgewählt werden kann. Wählt man hier Maven aus und bestätigt das ganze mit dem OK-Button wird eine pom.xml Datei für das Projekt erzeugt und die IDE erkennt automatisch, das es sich nun um ein Maven-Projekt handelt.