Unit-Tests mit Sensei und AssertJ lesbar machen
Entwickler erstellen und testen ihren eigenen Code mit verschiedenen Methoden. Eine dieser Methoden sind Unit-Tests - eine sehr beliebte Methode zum Testen der kleinsten Teile des eigenen Codes. Wenn sie gut geschrieben sind, können Unit-Tests dazu beitragen, die Qualität Ihres Codes zu verbessern sowie Kosten und Entwicklungszeit zu reduzieren. Unabhängig davon, ob sie im Rahmen der testgetriebenen Entwicklung (TDD) durchgeführt werden oder nicht, sind Unit-Tests ein wichtiger Bestandteil der modernen Entwicklungspraktiken, und ihre Bedeutung hat zur Schaffung zahlreicher Test-Frameworks geführt.
Ohne ein geeignetes Test-Framework und eine entsprechende Anleitung können Unit-Tests jedoch komplex und unleserlich werden, da der Schwerpunkt eher auf Abdeckung und Quantität als auf Qualität und Lesbarkeit liegt. Dies gilt insbesondere für eine große und aktive Codebasis mit vielen Unit-Tests.
Ein gutes Test-Framework hilft bei der Erstellung gut lesbarer Tests, die einfach sind und sich auf Qualitätstests konzentrieren. Sie helfen auch dabei, die Art und Weise zu dokumentieren, wie Ihr Code zu verwenden ist. Ein solches Framework ist AssertJ.
AssertJ ist eine fließende API zum Schreiben von Unit-Tests in Java. Mit ihr können Sie Testbehauptungen schreiben, die sich wie Englisch lesen, mit kontextabhängiger Autovervollständigung. Wenn Sie eine große Anzahl von Tests haben und deren Lesbarkeit verbessern müssen, möchten Sie vielleicht alle zu AssertJ migrieren und sicherstellen, dass alle zukünftigen Tests die Vorteile von AssertJ nutzen.
Eine vollständige Migration kann jedoch einen enormen Aufwand und viel Zeit in Anspruch nehmen und wird daher oft übersprungen oder zugunsten anderer Entwicklungsaufgaben aufgeschoben. Deshalb haben wir Sensei entwickelt - ein hochgradig anpassbares IntelliJ-Plugin, das Ihnen helfen kann, Ihre aktuellen Unit-Tests auf AssertJ zu migrieren und alle zukünftigen Tests auf die richtige Weise zu schreiben. Dies geschieht mit einer Reihe von Rezepten (Regeln), die das Entwicklungsteam von Senseibereits für Sie erstellt hat. Sensei macht es einfach, eine einmalige Migration durchzuführen oder den Ansatz einer schrittweisen Migration zu AssertJ zu wählen, einen Test nach dem anderen. Nach der Umstellung auf AssertJ helfen die Rezepte den Entwicklern weiterhin bei der Anwendung von Schnellkorrekturen, während sie Unit-Tests schreiben, so dass Ihre Unit-Tests weiterhin einheitlich, standardisiert und konsistent über die gesamte Codebasis sind.

Über Sensei
Sensei ist ein hochgradig anpassbares IntelliJ-Plugin zum Scannen und Korrigieren von unerwünschtem Code während der Eingabe - mit Hunderten von herunterladbaren Code-Transformationen und Migrationsrezepten (Regeln) sowie einer eingebauten Möglichkeit, eigene zu erstellen. Mit Sensei können Entwickler schlechte Codemuster während der Eingabe korrigieren, so dass sie qualitativ hochwertigen Code schneller liefern und ihn letztlich in einer konsistenten und standardisierten Art und Weise über Teams und Projekte hinweg schreiben können.
Hier ist ein Beispiel für eine Migration, die Ihnen zeigen könnte, wie Sensei die Migration Ihrer Unit-Tests zur Verwendung von AssertJ vereinfacht.
Warum ist AssertJ ein großartiges Framework zum Schreiben von Unit-Tests
Anstatt einen Test wie diese JUnit-Assertion zu schreiben:
können Sie dies mit AssertJ schreiben:
Das bedeutet, dass Sie die Behauptung wie einen englischen Satz von links nach rechts lesen können, und es ist klar, was die Erwartung ist (in diesem Fall die Größe 3). Wie oft haben Sie schon eine Behauptung falsch herum geschrieben, so wie hier?
Dies sind nur einfache Beispiele. Je komplexer Ihre Prüfungen und Assertions sind, desto mehr hilft Ihnen AssertJ, Ihre Tests einfach und lesbar zu gestalten. Es arbeitet sehr gut mit der Autovervollständigung Ihrer IDE zusammen. Sobald Sie eingeben:
wird je nach Typ von myResult eine Liste mit allen Dingen angezeigt, die Sie überprüfen können. Handelt es sich um eine Auflistung, können Sie den Inhalt, die Größe, den Inhalt bestimmter Werte oder Typen usw. überprüfen.
AssertJ unterstützt von Haus aus Primitive und ihre Boxed Types, Atomic Types, Collections, Arrays, Maps, Dates, java.time, Futures, Files/Paths, InputStreams, Throwables und URLs. Und wenn Sie einen bevorzugten benutzerdefinierten Matcher für Hamcrest haben, können Sie ihn mit AssertJ über HamcrestCondition verwenden.
Lesbare Unit-Tests erleichtern es Entwicklern, den Code in normalem Englisch zu lesen und machen es daher einfach, Fehler zu erkennen und die Abdeckung zu erhöhen - was AssertJ zu einem unverzichtbaren Framework für gute Java Unit-Tests macht.
Rezepte zum Verschieben von Legacy-Unit-Tests nach AssertJ
Wir haben ein Kochbuch geschrieben , um Ihnen zu helfen, konsistenten Code mit AssertJ zu schreiben. Es kann Ihnen helfen, Ihre Assertions von einem der folgenden Frameworks zu AssertJ zu migrieren: JUnit 3, JUnit 4, JUnit 5 und FEST-Assert.
Dieses Kochbuch kann in Sensei zur sofortigen Verwendung konfiguriert werden. Eine Installationsanleitung für Sensei finden Siehier.
Bessere Unit-Tests beim Programmieren schreiben - JUnit-Qualität schrittweise verbessern
Das Sensei Kochbuch für AssertJ hilft Ihnen nicht nur bei der Migration von anderen Frameworks. Es enthält einige Rezepte, die Ihnen helfen können, Ihre Tests zu verbessern, mit alten Gewohnheiten zu brechen und mehr idiomatische AssertJ-Tests zu schreiben.
Nehmen wir zum Beispiel an, Sie haben einen Test geschrieben, der wie folgt aussieht:
Vielleicht haben Sie es sogar mit einem der oben genannten Migrationsrezepte aus dieser JUnit-ähnlichen Assertion migriert:
Das Sensei Kochbuch für AssertJ hat ein Rezept, das auch diese alte Art von Assertion erkennen kann, und bietet an, sie in diese zu konvertieren:
Ein anderes Rezept kann das folgende umwandeln:
dazu:
Eine einmalige Migration und einheitliche Kodierungspraktiken in allen Teams - mit Sensei
Wie wir aus den obigen Beispielen ersehen können, kann die manuelle Migration von Unit-Tests zu AssertJ viel Aufwand und Zeit kosten, die man besser in das Schreiben besserer Tests investieren sollte. Mit Sensei können Sie Ihre Unit-Tests einfach und sicher nach AssertJ migrieren. Sie können eine einmalige Migration durchführen oder einzelne Tests nach und nach auf AssertJ migrieren. Sensei bietet diese Art von Flexibilität, die Code-Migrationen weniger schmerzhaft macht.
Die Migration von Unit-Tests ist nur ein Beispiel für die vielen Möglichkeiten, die Sensei bietet, um konsistenten Code in Ihren Projekten zu schreiben. Sie können immer nach Anti-Patterns oder bestimmten manuellen Code-Transformationen Ausschau halten, auf die Sie häufig in Pull-Requests oder beim Coding selbst stoßen. Wenn Sie über eine Reihe von Codierungsrichtlinien verfügen, die von den Entwicklern häufig nicht beachtet werden, können Sie diese Richtlinien in Rezepte umwandeln, damit die Entwickler bewährte Codetransformationen sicher anwenden können.
Wenn Sie Fragen haben, würden wir uns freuen, von Ihnen zu hören! Treten Sie uns auf Slack bei: sensei-scw.slack.com


Einheitliche und konsistente Umsetzung der Richtlinien für die Codierung von Unit-Tests
Sean ist ein leitender Software-Ingenieur bei Secure Code Warrior. Er verfügt über mehr als ein Jahrzehnt an Entwicklungserfahrung, wobei sein Schwerpunkt darauf liegt, Entwicklern bei der Erstellung besserer Software zu helfen, und hat zu einer Reihe von Open-Source-Projekten beigetragen.

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenSean ist ein leitender Software-Ingenieur bei Secure Code Warrior. Er verfügt über mehr als ein Jahrzehnt an Entwicklungserfahrung, wobei sein Schwerpunkt darauf liegt, Entwicklern bei der Erstellung besserer Software zu helfen, und hat zu einer Reihe von Open-Source-Projekten beigetragen.


Entwickler erstellen und testen ihren eigenen Code mit verschiedenen Methoden. Eine dieser Methoden sind Unit-Tests - eine sehr beliebte Methode zum Testen der kleinsten Teile des eigenen Codes. Wenn sie gut geschrieben sind, können Unit-Tests dazu beitragen, die Qualität Ihres Codes zu verbessern sowie Kosten und Entwicklungszeit zu reduzieren. Unabhängig davon, ob sie im Rahmen der testgetriebenen Entwicklung (TDD) durchgeführt werden oder nicht, sind Unit-Tests ein wichtiger Bestandteil der modernen Entwicklungspraktiken, und ihre Bedeutung hat zur Schaffung zahlreicher Test-Frameworks geführt.
Ohne ein geeignetes Test-Framework und eine entsprechende Anleitung können Unit-Tests jedoch komplex und unleserlich werden, da der Schwerpunkt eher auf Abdeckung und Quantität als auf Qualität und Lesbarkeit liegt. Dies gilt insbesondere für eine große und aktive Codebasis mit vielen Unit-Tests.
Ein gutes Test-Framework hilft bei der Erstellung gut lesbarer Tests, die einfach sind und sich auf Qualitätstests konzentrieren. Sie helfen auch dabei, die Art und Weise zu dokumentieren, wie Ihr Code zu verwenden ist. Ein solches Framework ist AssertJ.
AssertJ ist eine fließende API zum Schreiben von Unit-Tests in Java. Mit ihr können Sie Testbehauptungen schreiben, die sich wie Englisch lesen, mit kontextabhängiger Autovervollständigung. Wenn Sie eine große Anzahl von Tests haben und deren Lesbarkeit verbessern müssen, möchten Sie vielleicht alle zu AssertJ migrieren und sicherstellen, dass alle zukünftigen Tests die Vorteile von AssertJ nutzen.
Eine vollständige Migration kann jedoch einen enormen Aufwand und viel Zeit in Anspruch nehmen und wird daher oft übersprungen oder zugunsten anderer Entwicklungsaufgaben aufgeschoben. Deshalb haben wir Sensei entwickelt - ein hochgradig anpassbares IntelliJ-Plugin, das Ihnen helfen kann, Ihre aktuellen Unit-Tests auf AssertJ zu migrieren und alle zukünftigen Tests auf die richtige Weise zu schreiben. Dies geschieht mit einer Reihe von Rezepten (Regeln), die das Entwicklungsteam von Senseibereits für Sie erstellt hat. Sensei macht es einfach, eine einmalige Migration durchzuführen oder den Ansatz einer schrittweisen Migration zu AssertJ zu wählen, einen Test nach dem anderen. Nach der Umstellung auf AssertJ helfen die Rezepte den Entwicklern weiterhin bei der Anwendung von Schnellkorrekturen, während sie Unit-Tests schreiben, so dass Ihre Unit-Tests weiterhin einheitlich, standardisiert und konsistent über die gesamte Codebasis sind.

Über Sensei
Sensei ist ein hochgradig anpassbares IntelliJ-Plugin zum Scannen und Korrigieren von unerwünschtem Code während der Eingabe - mit Hunderten von herunterladbaren Code-Transformationen und Migrationsrezepten (Regeln) sowie einer eingebauten Möglichkeit, eigene zu erstellen. Mit Sensei können Entwickler schlechte Codemuster während der Eingabe korrigieren, so dass sie qualitativ hochwertigen Code schneller liefern und ihn letztlich in einer konsistenten und standardisierten Art und Weise über Teams und Projekte hinweg schreiben können.
Hier ist ein Beispiel für eine Migration, die Ihnen zeigen könnte, wie Sensei die Migration Ihrer Unit-Tests zur Verwendung von AssertJ vereinfacht.
Warum ist AssertJ ein großartiges Framework zum Schreiben von Unit-Tests
Anstatt einen Test wie diese JUnit-Assertion zu schreiben:
können Sie dies mit AssertJ schreiben:
Das bedeutet, dass Sie die Behauptung wie einen englischen Satz von links nach rechts lesen können, und es ist klar, was die Erwartung ist (in diesem Fall die Größe 3). Wie oft haben Sie schon eine Behauptung falsch herum geschrieben, so wie hier?
Dies sind nur einfache Beispiele. Je komplexer Ihre Prüfungen und Assertions sind, desto mehr hilft Ihnen AssertJ, Ihre Tests einfach und lesbar zu gestalten. Es arbeitet sehr gut mit der Autovervollständigung Ihrer IDE zusammen. Sobald Sie eingeben:
wird je nach Typ von myResult eine Liste mit allen Dingen angezeigt, die Sie überprüfen können. Handelt es sich um eine Auflistung, können Sie den Inhalt, die Größe, den Inhalt bestimmter Werte oder Typen usw. überprüfen.
AssertJ unterstützt von Haus aus Primitive und ihre Boxed Types, Atomic Types, Collections, Arrays, Maps, Dates, java.time, Futures, Files/Paths, InputStreams, Throwables und URLs. Und wenn Sie einen bevorzugten benutzerdefinierten Matcher für Hamcrest haben, können Sie ihn mit AssertJ über HamcrestCondition verwenden.
Lesbare Unit-Tests erleichtern es Entwicklern, den Code in normalem Englisch zu lesen und machen es daher einfach, Fehler zu erkennen und die Abdeckung zu erhöhen - was AssertJ zu einem unverzichtbaren Framework für gute Java Unit-Tests macht.
Rezepte zum Verschieben von Legacy-Unit-Tests nach AssertJ
Wir haben ein Kochbuch geschrieben , um Ihnen zu helfen, konsistenten Code mit AssertJ zu schreiben. Es kann Ihnen helfen, Ihre Assertions von einem der folgenden Frameworks zu AssertJ zu migrieren: JUnit 3, JUnit 4, JUnit 5 und FEST-Assert.
Dieses Kochbuch kann in Sensei zur sofortigen Verwendung konfiguriert werden. Eine Installationsanleitung für Sensei finden Siehier.
Bessere Unit-Tests beim Programmieren schreiben - JUnit-Qualität schrittweise verbessern
Das Sensei Kochbuch für AssertJ hilft Ihnen nicht nur bei der Migration von anderen Frameworks. Es enthält einige Rezepte, die Ihnen helfen können, Ihre Tests zu verbessern, mit alten Gewohnheiten zu brechen und mehr idiomatische AssertJ-Tests zu schreiben.
Nehmen wir zum Beispiel an, Sie haben einen Test geschrieben, der wie folgt aussieht:
Vielleicht haben Sie es sogar mit einem der oben genannten Migrationsrezepte aus dieser JUnit-ähnlichen Assertion migriert:
Das Sensei Kochbuch für AssertJ hat ein Rezept, das auch diese alte Art von Assertion erkennen kann, und bietet an, sie in diese zu konvertieren:
Ein anderes Rezept kann das folgende umwandeln:
dazu:
Eine einmalige Migration und einheitliche Kodierungspraktiken in allen Teams - mit Sensei
Wie wir aus den obigen Beispielen ersehen können, kann die manuelle Migration von Unit-Tests zu AssertJ viel Aufwand und Zeit kosten, die man besser in das Schreiben besserer Tests investieren sollte. Mit Sensei können Sie Ihre Unit-Tests einfach und sicher nach AssertJ migrieren. Sie können eine einmalige Migration durchführen oder einzelne Tests nach und nach auf AssertJ migrieren. Sensei bietet diese Art von Flexibilität, die Code-Migrationen weniger schmerzhaft macht.
Die Migration von Unit-Tests ist nur ein Beispiel für die vielen Möglichkeiten, die Sensei bietet, um konsistenten Code in Ihren Projekten zu schreiben. Sie können immer nach Anti-Patterns oder bestimmten manuellen Code-Transformationen Ausschau halten, auf die Sie häufig in Pull-Requests oder beim Coding selbst stoßen. Wenn Sie über eine Reihe von Codierungsrichtlinien verfügen, die von den Entwicklern häufig nicht beachtet werden, können Sie diese Richtlinien in Rezepte umwandeln, damit die Entwickler bewährte Codetransformationen sicher anwenden können.
Wenn Sie Fragen haben, würden wir uns freuen, von Ihnen zu hören! Treten Sie uns auf Slack bei: sensei-scw.slack.com

Entwickler erstellen und testen ihren eigenen Code mit verschiedenen Methoden. Eine dieser Methoden sind Unit-Tests - eine sehr beliebte Methode zum Testen der kleinsten Teile des eigenen Codes. Wenn sie gut geschrieben sind, können Unit-Tests dazu beitragen, die Qualität Ihres Codes zu verbessern sowie Kosten und Entwicklungszeit zu reduzieren. Unabhängig davon, ob sie im Rahmen der testgetriebenen Entwicklung (TDD) durchgeführt werden oder nicht, sind Unit-Tests ein wichtiger Bestandteil der modernen Entwicklungspraktiken, und ihre Bedeutung hat zur Schaffung zahlreicher Test-Frameworks geführt.
Ohne ein geeignetes Test-Framework und eine entsprechende Anleitung können Unit-Tests jedoch komplex und unleserlich werden, da der Schwerpunkt eher auf Abdeckung und Quantität als auf Qualität und Lesbarkeit liegt. Dies gilt insbesondere für eine große und aktive Codebasis mit vielen Unit-Tests.
Ein gutes Test-Framework hilft bei der Erstellung gut lesbarer Tests, die einfach sind und sich auf Qualitätstests konzentrieren. Sie helfen auch dabei, die Art und Weise zu dokumentieren, wie Ihr Code zu verwenden ist. Ein solches Framework ist AssertJ.
AssertJ ist eine fließende API zum Schreiben von Unit-Tests in Java. Mit ihr können Sie Testbehauptungen schreiben, die sich wie Englisch lesen, mit kontextabhängiger Autovervollständigung. Wenn Sie eine große Anzahl von Tests haben und deren Lesbarkeit verbessern müssen, möchten Sie vielleicht alle zu AssertJ migrieren und sicherstellen, dass alle zukünftigen Tests die Vorteile von AssertJ nutzen.
Eine vollständige Migration kann jedoch einen enormen Aufwand und viel Zeit in Anspruch nehmen und wird daher oft übersprungen oder zugunsten anderer Entwicklungsaufgaben aufgeschoben. Deshalb haben wir Sensei entwickelt - ein hochgradig anpassbares IntelliJ-Plugin, das Ihnen helfen kann, Ihre aktuellen Unit-Tests auf AssertJ zu migrieren und alle zukünftigen Tests auf die richtige Weise zu schreiben. Dies geschieht mit einer Reihe von Rezepten (Regeln), die das Entwicklungsteam von Senseibereits für Sie erstellt hat. Sensei macht es einfach, eine einmalige Migration durchzuführen oder den Ansatz einer schrittweisen Migration zu AssertJ zu wählen, einen Test nach dem anderen. Nach der Umstellung auf AssertJ helfen die Rezepte den Entwicklern weiterhin bei der Anwendung von Schnellkorrekturen, während sie Unit-Tests schreiben, so dass Ihre Unit-Tests weiterhin einheitlich, standardisiert und konsistent über die gesamte Codebasis sind.

Über Sensei
Sensei ist ein hochgradig anpassbares IntelliJ-Plugin zum Scannen und Korrigieren von unerwünschtem Code während der Eingabe - mit Hunderten von herunterladbaren Code-Transformationen und Migrationsrezepten (Regeln) sowie einer eingebauten Möglichkeit, eigene zu erstellen. Mit Sensei können Entwickler schlechte Codemuster während der Eingabe korrigieren, so dass sie qualitativ hochwertigen Code schneller liefern und ihn letztlich in einer konsistenten und standardisierten Art und Weise über Teams und Projekte hinweg schreiben können.
Hier ist ein Beispiel für eine Migration, die Ihnen zeigen könnte, wie Sensei die Migration Ihrer Unit-Tests zur Verwendung von AssertJ vereinfacht.
Warum ist AssertJ ein großartiges Framework zum Schreiben von Unit-Tests
Anstatt einen Test wie diese JUnit-Assertion zu schreiben:
können Sie dies mit AssertJ schreiben:
Das bedeutet, dass Sie die Behauptung wie einen englischen Satz von links nach rechts lesen können, und es ist klar, was die Erwartung ist (in diesem Fall die Größe 3). Wie oft haben Sie schon eine Behauptung falsch herum geschrieben, so wie hier?
Dies sind nur einfache Beispiele. Je komplexer Ihre Prüfungen und Assertions sind, desto mehr hilft Ihnen AssertJ, Ihre Tests einfach und lesbar zu gestalten. Es arbeitet sehr gut mit der Autovervollständigung Ihrer IDE zusammen. Sobald Sie eingeben:
wird je nach Typ von myResult eine Liste mit allen Dingen angezeigt, die Sie überprüfen können. Handelt es sich um eine Auflistung, können Sie den Inhalt, die Größe, den Inhalt bestimmter Werte oder Typen usw. überprüfen.
AssertJ unterstützt von Haus aus Primitive und ihre Boxed Types, Atomic Types, Collections, Arrays, Maps, Dates, java.time, Futures, Files/Paths, InputStreams, Throwables und URLs. Und wenn Sie einen bevorzugten benutzerdefinierten Matcher für Hamcrest haben, können Sie ihn mit AssertJ über HamcrestCondition verwenden.
Lesbare Unit-Tests erleichtern es Entwicklern, den Code in normalem Englisch zu lesen und machen es daher einfach, Fehler zu erkennen und die Abdeckung zu erhöhen - was AssertJ zu einem unverzichtbaren Framework für gute Java Unit-Tests macht.
Rezepte zum Verschieben von Legacy-Unit-Tests nach AssertJ
Wir haben ein Kochbuch geschrieben , um Ihnen zu helfen, konsistenten Code mit AssertJ zu schreiben. Es kann Ihnen helfen, Ihre Assertions von einem der folgenden Frameworks zu AssertJ zu migrieren: JUnit 3, JUnit 4, JUnit 5 und FEST-Assert.
Dieses Kochbuch kann in Sensei zur sofortigen Verwendung konfiguriert werden. Eine Installationsanleitung für Sensei finden Siehier.
Bessere Unit-Tests beim Programmieren schreiben - JUnit-Qualität schrittweise verbessern
Das Sensei Kochbuch für AssertJ hilft Ihnen nicht nur bei der Migration von anderen Frameworks. Es enthält einige Rezepte, die Ihnen helfen können, Ihre Tests zu verbessern, mit alten Gewohnheiten zu brechen und mehr idiomatische AssertJ-Tests zu schreiben.
Nehmen wir zum Beispiel an, Sie haben einen Test geschrieben, der wie folgt aussieht:
Vielleicht haben Sie es sogar mit einem der oben genannten Migrationsrezepte aus dieser JUnit-ähnlichen Assertion migriert:
Das Sensei Kochbuch für AssertJ hat ein Rezept, das auch diese alte Art von Assertion erkennen kann, und bietet an, sie in diese zu konvertieren:
Ein anderes Rezept kann das folgende umwandeln:
dazu:
Eine einmalige Migration und einheitliche Kodierungspraktiken in allen Teams - mit Sensei
Wie wir aus den obigen Beispielen ersehen können, kann die manuelle Migration von Unit-Tests zu AssertJ viel Aufwand und Zeit kosten, die man besser in das Schreiben besserer Tests investieren sollte. Mit Sensei können Sie Ihre Unit-Tests einfach und sicher nach AssertJ migrieren. Sie können eine einmalige Migration durchführen oder einzelne Tests nach und nach auf AssertJ migrieren. Sensei bietet diese Art von Flexibilität, die Code-Migrationen weniger schmerzhaft macht.
Die Migration von Unit-Tests ist nur ein Beispiel für die vielen Möglichkeiten, die Sensei bietet, um konsistenten Code in Ihren Projekten zu schreiben. Sie können immer nach Anti-Patterns oder bestimmten manuellen Code-Transformationen Ausschau halten, auf die Sie häufig in Pull-Requests oder beim Coding selbst stoßen. Wenn Sie über eine Reihe von Codierungsrichtlinien verfügen, die von den Entwicklern häufig nicht beachtet werden, können Sie diese Richtlinien in Rezepte umwandeln, damit die Entwickler bewährte Codetransformationen sicher anwenden können.
Wenn Sie Fragen haben, würden wir uns freuen, von Ihnen zu hören! Treten Sie uns auf Slack bei: sensei-scw.slack.com

Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht ansehenDemo buchenSean ist ein leitender Software-Ingenieur bei Secure Code Warrior. Er verfügt über mehr als ein Jahrzehnt an Entwicklungserfahrung, wobei sein Schwerpunkt darauf liegt, Entwicklern bei der Erstellung besserer Software zu helfen, und hat zu einer Reihe von Open-Source-Projekten beigetragen.
Entwickler erstellen und testen ihren eigenen Code mit verschiedenen Methoden. Eine dieser Methoden sind Unit-Tests - eine sehr beliebte Methode zum Testen der kleinsten Teile des eigenen Codes. Wenn sie gut geschrieben sind, können Unit-Tests dazu beitragen, die Qualität Ihres Codes zu verbessern sowie Kosten und Entwicklungszeit zu reduzieren. Unabhängig davon, ob sie im Rahmen der testgetriebenen Entwicklung (TDD) durchgeführt werden oder nicht, sind Unit-Tests ein wichtiger Bestandteil der modernen Entwicklungspraktiken, und ihre Bedeutung hat zur Schaffung zahlreicher Test-Frameworks geführt.
Ohne ein geeignetes Test-Framework und eine entsprechende Anleitung können Unit-Tests jedoch komplex und unleserlich werden, da der Schwerpunkt eher auf Abdeckung und Quantität als auf Qualität und Lesbarkeit liegt. Dies gilt insbesondere für eine große und aktive Codebasis mit vielen Unit-Tests.
Ein gutes Test-Framework hilft bei der Erstellung gut lesbarer Tests, die einfach sind und sich auf Qualitätstests konzentrieren. Sie helfen auch dabei, die Art und Weise zu dokumentieren, wie Ihr Code zu verwenden ist. Ein solches Framework ist AssertJ.
AssertJ ist eine fließende API zum Schreiben von Unit-Tests in Java. Mit ihr können Sie Testbehauptungen schreiben, die sich wie Englisch lesen, mit kontextabhängiger Autovervollständigung. Wenn Sie eine große Anzahl von Tests haben und deren Lesbarkeit verbessern müssen, möchten Sie vielleicht alle zu AssertJ migrieren und sicherstellen, dass alle zukünftigen Tests die Vorteile von AssertJ nutzen.
Eine vollständige Migration kann jedoch einen enormen Aufwand und viel Zeit in Anspruch nehmen und wird daher oft übersprungen oder zugunsten anderer Entwicklungsaufgaben aufgeschoben. Deshalb haben wir Sensei entwickelt - ein hochgradig anpassbares IntelliJ-Plugin, das Ihnen helfen kann, Ihre aktuellen Unit-Tests auf AssertJ zu migrieren und alle zukünftigen Tests auf die richtige Weise zu schreiben. Dies geschieht mit einer Reihe von Rezepten (Regeln), die das Entwicklungsteam von Senseibereits für Sie erstellt hat. Sensei macht es einfach, eine einmalige Migration durchzuführen oder den Ansatz einer schrittweisen Migration zu AssertJ zu wählen, einen Test nach dem anderen. Nach der Umstellung auf AssertJ helfen die Rezepte den Entwicklern weiterhin bei der Anwendung von Schnellkorrekturen, während sie Unit-Tests schreiben, so dass Ihre Unit-Tests weiterhin einheitlich, standardisiert und konsistent über die gesamte Codebasis sind.

Über Sensei
Sensei ist ein hochgradig anpassbares IntelliJ-Plugin zum Scannen und Korrigieren von unerwünschtem Code während der Eingabe - mit Hunderten von herunterladbaren Code-Transformationen und Migrationsrezepten (Regeln) sowie einer eingebauten Möglichkeit, eigene zu erstellen. Mit Sensei können Entwickler schlechte Codemuster während der Eingabe korrigieren, so dass sie qualitativ hochwertigen Code schneller liefern und ihn letztlich in einer konsistenten und standardisierten Art und Weise über Teams und Projekte hinweg schreiben können.
Hier ist ein Beispiel für eine Migration, die Ihnen zeigen könnte, wie Sensei die Migration Ihrer Unit-Tests zur Verwendung von AssertJ vereinfacht.
Warum ist AssertJ ein großartiges Framework zum Schreiben von Unit-Tests
Anstatt einen Test wie diese JUnit-Assertion zu schreiben:
können Sie dies mit AssertJ schreiben:
Das bedeutet, dass Sie die Behauptung wie einen englischen Satz von links nach rechts lesen können, und es ist klar, was die Erwartung ist (in diesem Fall die Größe 3). Wie oft haben Sie schon eine Behauptung falsch herum geschrieben, so wie hier?
Dies sind nur einfache Beispiele. Je komplexer Ihre Prüfungen und Assertions sind, desto mehr hilft Ihnen AssertJ, Ihre Tests einfach und lesbar zu gestalten. Es arbeitet sehr gut mit der Autovervollständigung Ihrer IDE zusammen. Sobald Sie eingeben:
wird je nach Typ von myResult eine Liste mit allen Dingen angezeigt, die Sie überprüfen können. Handelt es sich um eine Auflistung, können Sie den Inhalt, die Größe, den Inhalt bestimmter Werte oder Typen usw. überprüfen.
AssertJ unterstützt von Haus aus Primitive und ihre Boxed Types, Atomic Types, Collections, Arrays, Maps, Dates, java.time, Futures, Files/Paths, InputStreams, Throwables und URLs. Und wenn Sie einen bevorzugten benutzerdefinierten Matcher für Hamcrest haben, können Sie ihn mit AssertJ über HamcrestCondition verwenden.
Lesbare Unit-Tests erleichtern es Entwicklern, den Code in normalem Englisch zu lesen und machen es daher einfach, Fehler zu erkennen und die Abdeckung zu erhöhen - was AssertJ zu einem unverzichtbaren Framework für gute Java Unit-Tests macht.
Rezepte zum Verschieben von Legacy-Unit-Tests nach AssertJ
Wir haben ein Kochbuch geschrieben , um Ihnen zu helfen, konsistenten Code mit AssertJ zu schreiben. Es kann Ihnen helfen, Ihre Assertions von einem der folgenden Frameworks zu AssertJ zu migrieren: JUnit 3, JUnit 4, JUnit 5 und FEST-Assert.
Dieses Kochbuch kann in Sensei zur sofortigen Verwendung konfiguriert werden. Eine Installationsanleitung für Sensei finden Siehier.
Bessere Unit-Tests beim Programmieren schreiben - JUnit-Qualität schrittweise verbessern
Das Sensei Kochbuch für AssertJ hilft Ihnen nicht nur bei der Migration von anderen Frameworks. Es enthält einige Rezepte, die Ihnen helfen können, Ihre Tests zu verbessern, mit alten Gewohnheiten zu brechen und mehr idiomatische AssertJ-Tests zu schreiben.
Nehmen wir zum Beispiel an, Sie haben einen Test geschrieben, der wie folgt aussieht:
Vielleicht haben Sie es sogar mit einem der oben genannten Migrationsrezepte aus dieser JUnit-ähnlichen Assertion migriert:
Das Sensei Kochbuch für AssertJ hat ein Rezept, das auch diese alte Art von Assertion erkennen kann, und bietet an, sie in diese zu konvertieren:
Ein anderes Rezept kann das folgende umwandeln:
dazu:
Eine einmalige Migration und einheitliche Kodierungspraktiken in allen Teams - mit Sensei
Wie wir aus den obigen Beispielen ersehen können, kann die manuelle Migration von Unit-Tests zu AssertJ viel Aufwand und Zeit kosten, die man besser in das Schreiben besserer Tests investieren sollte. Mit Sensei können Sie Ihre Unit-Tests einfach und sicher nach AssertJ migrieren. Sie können eine einmalige Migration durchführen oder einzelne Tests nach und nach auf AssertJ migrieren. Sensei bietet diese Art von Flexibilität, die Code-Migrationen weniger schmerzhaft macht.
Die Migration von Unit-Tests ist nur ein Beispiel für die vielen Möglichkeiten, die Sensei bietet, um konsistenten Code in Ihren Projekten zu schreiben. Sie können immer nach Anti-Patterns oder bestimmten manuellen Code-Transformationen Ausschau halten, auf die Sie häufig in Pull-Requests oder beim Coding selbst stoßen. Wenn Sie über eine Reihe von Codierungsrichtlinien verfügen, die von den Entwicklern häufig nicht beachtet werden, können Sie diese Richtlinien in Rezepte umwandeln, damit die Entwickler bewährte Codetransformationen sicher anwenden können.
Wenn Sie Fragen haben, würden wir uns freuen, von Ihnen zu hören! Treten Sie uns auf Slack bei: sensei-scw.slack.com
Inhaltsübersicht
Sean ist ein leitender Software-Ingenieur bei Secure Code Warrior. Er verfügt über mehr als ein Jahrzehnt an Entwicklungserfahrung, wobei sein Schwerpunkt darauf liegt, Entwicklern bei der Erstellung besserer Software zu helfen, und hat zu einer Reihe von Open-Source-Projekten beigetragen.

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen für den Einstieg
Professionelle Dienstleistungen - Beschleunigen Sie mit Fachwissen
Das PSS-Team (Program Strategy Services) von Secure Code Warriorunterstützt Sie beim Aufbau, der Verbesserung und der Optimierung Ihres Programms für sichere Codierung. Ganz gleich, ob Sie neu anfangen oder Ihren Ansatz verfeinern möchten, unsere Experten bieten Ihnen maßgeschneiderte Beratung.
Themen und Inhalte der Schulung zu sicherem Code
Unsere branchenführenden Inhalte werden ständig weiterentwickelt, um sie an die sich ständig verändernde Softwareentwicklungslandschaft anzupassen und Ihre Rolle zu berücksichtigen. Die Themen reichen von KI bis XQuery Injection und werden für eine Vielzahl von Rollen angeboten, von Architekten und Ingenieuren bis hin zu Produktmanagern und QA. Verschaffen Sie sich einen kleinen Überblick über die Inhalte, die unser Katalog nach Thema und Rolle bietet.
Quests: Branchenführendes Lernen, damit die Entwickler immer einen Schritt voraus sind und Risiken minimiert werden.
Quests ist eine learning platform , die Entwicklern hilft, Software-Sicherheitsrisiken zu verringern, indem sie ihre Fähigkeiten zur sicheren Programmierung verbessern. Mit kuratierten Lernpfaden, praktischen Herausforderungen und interaktiven Aktivitäten befähigt sie Entwickler, Schwachstellen zu erkennen und zu vermeiden.
Ressourcen für den Einstieg
Wird Vibe Coding Ihre Codebasis in eine Verbindungsparty verwandeln?
Vibe Coding ist wie eine College-Verbindungsparty, und AI ist das Herzstück aller Festivitäten, das Fass. Es macht eine Menge Spaß, sich auszutoben, kreativ zu werden und zu sehen, wohin die eigene Fantasie einen führen kann, aber nach ein paar Bierfässern ist das Trinken (oder die Verwendung von KI) in Maßen zweifellos die sicherere langfristige Lösung.
Das Jahrzehnt der Defenders: Secure Code Warrior Zehnte Runde
Secure Code WarriorDas Gründungsteam von SCW ist zusammengeblieben und hat das Schiff ein ganzes Jahrzehnt lang durch alle Lektionen, Triumphe und Rückschläge gesteuert. Wir vergrößern uns und sind bereit für unser nächstes Kapitel, SCW 2.0, als führendes Unternehmen im Risikomanagement für Entwickler.