Kategorie: Test

Personas für Unit Tests (Teil 2)

JUnit 5 bietet mit seiner Extension Model einen leichtgewichtigen Ansatz um Testdaten direkt in die jeweilige Testmethode zu injizieren. Im Beitrag Personas für Unit Tests wurde gezeigt, wie mit dem ParameterResolver und dem InvocationInterceptor Testdaten vor der Testausführung generiert und manipuliert werden können. Ausgeblendet wurde dabei die Zuweisung der Persona Eigenschaften auf die Testobjekte im FakePersonaBuilder.

Weiterlesen

Personas für Unit Tests

Mit dem Extension Model von JUnit 5 gibt es Vielzahl neuer Möglichkeiten, das Schreiben von Unit Tests zu vereinfachen. In den Beiträgen Dependency Injection mit ParameterResolver in JUnit 5 und Zufallswerte in JUnit 5 wurde der JUnit 5 ParameterResolver behandelt. Dieser Beitrag stellt den InvocationInterceptor vor.

Weiterlesen

Keycloak Authentisierung in Spring Boot Tests

In der Software Entwicklung ist es immer wieder schön, wenn zwei Frameworks gut zusammenarbeiten. Ärgerlich ist es dann aber, wenn man dies nicht adäquat testen kann. Eines dieser unglückseligen Paare sind Keycloak und Spring Security.

Weiterlesen

The Art of Test

Das Testen der Software ist fast genauso wichtig, wie deren Implementierung. Bei der Implementierung von komplexen Systemen müssen Entwickler und Kunden prüfen können, ob das erstellte Werk auch allen Anforderungen entspricht und korrekt arbeitet. Aus diesem Grund werden beide Tätigkeiten beim Test-Driven-Development auch miteinander verbunden. Schwierigkeiten bereitet es häufig, welche Art von Test wann und wie verwendet werden sollte.

Weiterlesen

Ab die Post (Teil 3)

Wer kennt diese Situation als Software Entwickler nicht. Man hat eine nette kleine Idee und statt sie direkt zu implementieren, bespricht man sie mit einem Projektverantwortlichen. Plötzlich wächst die Idee zu irgendetwas heran, das ohne wirklich weiteren Wert zu bieten, mehrere Tage bis Wochen Vorbereitung und Implementierung benötigt. Als junger Entwickler hörte ich, im Zuge einer eigenen kleinen Idee, zum aller ersten Mal von den U-Booten.

Weiterlesen

Ab die Post (Teil 2)

Im vorherigen Beitrag zu JavaMail API wurde die Bibliothek GreenMail vorgestellt. Mit dieser Bibliothek ist es möglich, verschiedene E-Mail Server zu simulieren. Da keine überzeugende JUnit 5 Unterstützung existiert, lag die Idee nahe, eine eigene JUnit Extension zu schreiben. Während der Implementierung zeigten sich erste Ideen als unnütz, das Verständnis der GreenMail API verbesserte sich und die eigene Art zu Testen wirkte sich natürlich auf die Gestaltung der Erweiterung aus.

Weiterlesen

Ab die Post

Der JavaMail Framework ist ein sehr altes Schlachtross aus den Reihen der Java Standard APIs. Trotz des hohen Alters von über 20 Jahren kann man ohne große Umstände Emails damit versenden und empfangen.

Weiterlesen

Repeating Annotations

Lange war es in Java nicht möglich eine Annotation an einer bestimmten Position mehrfach anzugeben. Dieses Manko wurde erst in der Java Version 8 durch Repeating Annotationsbehoben.

Im Beitrag Hamcrest Matcher Generator wurde die @Hamcrest Annotation vorgestellt. Diese Annotation gestattet es, für eine angegebene Klasse, Hamcrest Matcher automatisch zu erstellen.
Leider kann in der initialen Version des Generators immer nur eine @HamcrestAnnotation an einer Klasse stehen.

Weiterlesen

Hamcrest Matcher Generator (Teil 2)

Im vorherigen Beitrag wurde die grobe Struktur eines Generators für Hamcrest Matcher vorgestellt. In diesem Beitrag vervollständigen wir den Entwurf, in dem die losen Enden verknüpft und die tatsächlichen Matcher-Klassen generiert werden.

Weiterlesen
Generatorhalle

Hamcrest Matcher Generator

Wer lieber mit Hamcrest arbeitet, muss auf solch ein Feature nicht zwangsläufig verzichten. Wie ein eigener Assertion Generator für Hamcrest erstellt werden kann, wird in diesem und weiteren Beiträgen erläutert.

Weiterlesen