Modernizing applications with the 7 R strategy – A CTO’s Guide
Think about the last time CTOs spent most of their time fixing old systems. Updates were slow, servers were expensive, and adding new features took time. Now, things have changed....
Listening is fun too.
Straighten your back and cherish with coffee - PLAY !

JUnit 5 is a very popular unit testing framework mainly used for -based applications. JUnit 5 consists of 3 different modules that are JUnit Platform, JUnit Jupiter, and JUnit Vintage.
So JUnit = JUnit Platform + JUnit Jupiter + JUnit Vintage.
| @BeforeEach | This will run before every test method. |
| @AfterEach | This will run after every test method. |
| @BeforeAll | This will run before all the test methods. |
| @AfterAll | This will run after all the test methods. |
| @Test | To declare a method as junit test. |
| @DisplayName | To give a user-defined name to a method. |
| @Disable | This is used to ignore a particular test method/class. |
| @Nested | To create nested test classes. |
| @Tag | For marking a test method. |
| @TestFactory | For dynamic testing. |
Assertions are a collection of utility methods that support asserting conditions in tests.
| assertAll (Executable.. executables) | Shows that all supplied executables do not throw exceptions. |
| assertAll (Stream executables) | Shows that all supplied executables do not throw exceptions. |
| assertAll (Stringheading,Executable… executables) | Shows that all supplied executables do not throw exceptions. |
| assertAll (Stringheading , Stream executables) | Shows that all supplied executables do not throw exceptions. |
| assertArrayEquals (boolean[] expected,Boolean[] actual ) | Asserts that the expected and actual boolean arrays are equal. |
| assertArrayEquals (boolean[] expected ,Boolean[] actual, String msg) | Asserts that expected and actual boolean arrays are equal. |
| assertArrayEquals (byte[] expected ,byte[] actual, String msg ) | Asserts that expected and actual byte arrays are equal. |
| assertArrayEquals (byte[] expected ,Byte[] actual, SupplierMsgSupplier) | Shows that expected and actual byte arrays are equal. |
| assertArrayEquals (Object[] expected ,Object[] actual, String msg ) | Shows that expected and actual object arrays are deeply equal. |
| assertEquals(short[] expected, short[]Actual ) | Shows that expected and actual short arrays are equal. |
| assertEquals(short[] expected, short[],Actual , String msg ) | To know that expected and actual short arrays are equal. |
| assertEquals(byte expected, byte actual, Supplier msgSupplier ) | To know that expected and actual are equal. |
| assertEquals(char expected, char actual, String msg) | Shows that expected and actual are equal. |
| assertEquals (char expected , char actual, Supplier <String > msgSupplier) | Shows that expected and actual are equal. |
| assertEquals (double expected, double actual, String msg) | Asserts that expected and actual are equal. |
| assertEquals ( Object expected, Object actual, String msg) | Asserts that expected and actual are equal. |
| assertEquals ( Object expected, Object actual, Supplier < String > msgSupplier) | Asserts that expected and actual are equal. |
| assertFalse (boolean condition, String msg) | Asserts that the supplied condition is not true. |
| assertFalse ( BooleanSupplier booleanSupplier, Supplier< String > messageSupplier) | Asserts that the supplied condition is not true. |
| assertIterableEquals( Iterable expected, Iterable actual) | Asserts that expected and actual iterables are deeply equal. |
| assertIterableEquals ( Iterable expected, Iterable actual, string msg) | Asserts that expected and actual iterables are deeply equal. |
| assertLinesMatch ( List< String> expectedLines, List< String> actualLines) | Asserts that expected list of Strings matches the actual list. |
| assertNotEquals ( object unexpected, Object actual, Supplier < String > msgSupplier) | Asserts that expected and actual are not equal. |
| assertNotEquals ( object unexpected, Object actual, String msg) | Asserts that expected and actual are not equal. |
| assertNotNull ( Object actual) | Asserts that actual is not null. |
| assertNotNull ( Obj actual, String msg) | Asserts that the actual is not null. |
| assertNotNull ( Object actual, Supplier < String > msgSupplier) | Asserts that the actual is not null. |
| assertNotSame ( Object unexpected, Object actual, String msg) | Asserts that expected and actual do not refer to the same object. |
| assertNotSame ( Object unexpected, Object actual, Supplier < String > msgSupplier) | Asserts that expected and actual do not refer to the same object. |
| assertNull ( Obj actual) | Shows that actual is null. |
| assertNull ( Obj actual, String msg) | Shows that actual is null. |
| assertNull ( Obj actual, Supplier < String > msgSupplier) | Shows that actual is null. |
| assertSame ( Obj expected,Obj actual) | Shows that expected and actual refer to the same object. |
| assertSame ( Obj expected, Obj actual, String msg) | Shows that expected and actual refer to the same object. |
| assertSame (Obj expected,Obj actual, Supplier < String > msgSupplier) | Shows that expected and actual refer to the same object. |
| assertThrows ( Class expectedType, Executable executable) | To know that execution of the supplied executable throws an exception of the expectedType and returns the exception. |
| assertThrows ( Class expectedType, Executable executable, String message) | To know that execution of the supplied executable throws an exception of the expectedType and returns the exception. |
| assertThrows ( Class expectedType, Executable executable, Supplier < String > msgSupplier) | To know that execution of the supplied executable throws an exception of the expectedType and returns the exception. |
| assertTimeout ( Duration timeout, ThrowingSupplier supplier, String msg) | To know that execution of the supplied supplier completes before the given timeout is exceeded. |
| assertTimeout ( Duration timeout, ThrowingSupplier supplier) | To know that execution of the supplied supplier completes before the given timeout is exceeded. |
| assertTimeout ( Duration timeout, Executable executable, Supplier < String > msgSupplier) | To know that execution of the supplied supplier completes before the given timeout is exceeded. |
| assertTrue ( BooleanSupplier booleanSupplier, Supplier< String > msgSupplier) | To know that the boolean condition supplied by booleanSupplier is true. |
| assertTrue ( BooleanSupplier booleanSupplier, String msg) | To know that the boolean condition supplied by booleanSupplier is true. |
| assertTrue (boolean condition, Supplier < String > msgSupplier) | To know that the supplied condition is true. |
| assertTrue ( BooleanSupplier booleanSupplier) | To know that the boolean condition supplied by booleanSupplier is true. |
| fail ( String msg) | Fails a test with the failure message retrieved from the given msgSupplier. |
| fail ( String msg, Throwable cause) | Fails a test with the given failure message as well as the underlying cause. |
| fail ( Supplier < string > msgSupplier) | Fails a test with the failure message retrieved from the given msgSupplier. |
| fail ( Throwable cause) | Fails a test with the given underlying cause. |
It is very much important for a full stack developer to test his/her code. So JUnit 5 is the perfect tool for managing, and proper executing of the test cases. It also helps to reduce the time for debugging.
Think about the last time CTOs spent most of their time fixing old systems. Updates were slow, servers were expensive, and adding new features took time. Now, things have changed....
According to HackerOne, fixing a security issue after software is released can cost 30 times more than fixing it during development. Today, CTOs take a different approach. Shift...
A few years ago, companies built software first and thought about security later. Developers and security teams did not cooperate, and problems were fixed only after release. This activated DevSecOps vulnerabilities and many DevSecOps failures.