Using JUnit for testing System.exit() calls from application code can be tricky. This is because System.exit()
terminates the JVM running it. If you’re running JUnit, this is the JUnit runner. If JUnit invokes System.exit()
in application code it will end your test without deciding a success / fail status and will also terminate the test run.
Stuart 'Stevie' Leitch on Software Development, Java Technologies, Security and Testing