Java Assertion Status programmatisch Verwalten

Thomas Darimont

Erfahrenes Mitglied
Hallo,

hier mal ein kleines Beispiel, wie man programmatisch den (globalen mit -ea aktivierten) Assertion-Status auslesen kann:
Java:
package de.tutorials.training;


public class CheckAssertionStatus {
    public static void main(String[] args) {


        System.out.println(AssertionStatus.assertionsEnabled());
    }


    static class AssertionStatus {
        public static boolean assertionsEnabled() {
            boolean assertionsEnabled = false;
            assert assertionsEnabled = true;
            return assertionsEnabled;
        }
    }
}
Dies ist z.Bsp. für Unit-Tests sinnvoll, wenn man überprüfen möchte ob die (internen) Assertions auch tatsächlich ausgeführt werden

Über ein entsprechendes API am ClassLoader kann man Assertions pro Klasse / Package dynamisch an- und abschalten - dies hat jedoch keine Auswirkungen auf bereits geladene Klassen.
http://docs.oracle.com/cd/E19683-01/806-7930/assert-5/index.html

Gruß Tom
 
Zurück