-XX:+ShowCodeDetailsInExceptionMessages
を追加する必要がある。
import static org.assertj.core.api.Assertions.assertThat;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import org.junit.Test;
public class NPETest {
public String maybeNull = null;
@Test
public void testNpe() {
// Preconditions
final RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
assertThat(runtimeMXBean.getSpecVersion()).isEqualTo("14");
assertThat(runtimeMXBean.getInputArguments()).contains("-XX:+ShowCodeDetailsInExceptionMessages");
// Do
final String subst = maybeNull.substring(0, 1);
}
}
これで
java.lang.NullPointerException: Cannot invoke "String.substring(int, int)" because "this.maybeNull" is null
時代は変わるなぁ。。。