Finally, a correct version of classic “Hello world!” program.
import static org.assertj.core.api.Assertions.assertThat; import java.io.ByteArrayOutputStream; import java.io.PrintStream; import org.junit.jupiter.api.Test; public class HelloWorld { @Test void testMainPrintsHelloWorld() { // given final var out = new ByteArrayOutputStream(); System.setOut(new PrintStream(out)); // when HelloWorld.main(); // then assertThat(out.toString()).isEqualTo("Hello world!"); } public static void main(final String... args) { System.out.print("Hello world!"); } }
See also https://agilemanifesto.org/