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
Auf dem Weg zu Gold: Steigende Standards für sicheren Code bei Paysafe
Sehen Sie, wie die Partnerschaft von Paysafe mit Secure Code Warrior die Produktivität der Entwickler um 45 % steigerte und die Zahl der Code-Schwachstellen erheblich reduzierte.
Die Macht der Marke in AppSec DevSec DevSecOps (Was ist in einem Acrynym!?)
Für eine dauerhafte Wirkung von AppSec-Programmen braucht es mehr als nur Technik - es braucht eine starke Marke. Eine starke Identität stellt sicher, dass Ihre Initiativen auf Resonanz stoßen und ein nachhaltiges Engagement innerhalb Ihrer Entwicklergemeinschaft fördern.
Vertrauensagent: AI von Secure Code Warrior
Dieser One-Pager stellt den SCW Trust Agent: AI vor, eine neue Reihe von Funktionen, die tiefgreifende Beobachtbarkeit und Kontrolle über KI-Codierwerkzeuge bieten. Erfahren Sie, wie unsere Lösung die Nutzung von KI-Tools mit den Fähigkeiten von Entwicklern korreliert, um Sie beim Risikomanagement zu unterstützen, Ihren SDLC zu optimieren und sicherzustellen, dass jede Zeile des von KI generierten Codes sicher ist.
Vibe Coding: Praktischer Leitfaden zur Aktualisierung Ihrer AppSec-Strategie für KI
In diesem On-Demand-Video erfahren Sie, wie AppSec-Manager durch einen praktischen Ansatz, bei dem die Schulung im Vordergrund steht, in die Lage versetzt werden, KI zu fördern, anstatt sie zu blockieren. Wir zeigen Ihnen, wie Sie Secure Code Warrior (SCW) nutzen können, um Ihre AppSec-Strategie strategisch für das Zeitalter der KI-Codierassistenten zu aktualisieren.
Ressourcen für den Einstieg
Sicheres Coding im Zeitalter der KI: Testen Sie unsere neuen interaktiven KI-Herausforderungen
KI-gestütztes Coding verändert die Entwicklung. Testen Sie unsere neuen KI-Herausforderungen im Copilot-Stil, um Code in realistischen Workflows sicher zu prüfen, zu analysieren und zu korrigieren.