JUnit-Tests für eine Ausnahme eines bestimmten Typs

Ich bin zu wollen wissen, wenn ich testen (mit JUnit), dass eine bestimmte Nachricht erzeugt, indem eine Ausnahme geworfen bekommt, anstatt nur "ob oder nicht" eine Ausnahme geworfen wurde.
Zum Beispiel die JunitTest.java code wird tatsächlich den test zu bestehen, weil eine exception geworfen wurde, aber wenn ich auch wollte, um zu testen, ob die Zeichenfolge erzeugt, die durch die Ausnahme war gleich: "Test Ausnahme: ganze Zahl kann nicht negativ sein.." ist das möglich?

TestException.java

public class TestException extends Exception {  
    /**
     * @param message informative message about the problem found
     */
    public TestException (String message) {
        super("Test Exception: " + message);
    }
}

Test.java

public void function(Integer mustBePositive) throws TestException {
    if (mustBePositive < 0) {
        throw new TestException("Integer may not be negative..");
    }
    else {
        mustBePositive = myNum
    }
}

JunitTest.java

import org.junit.*;

public class JUnitTest {

    @Test(expected = TestException.class)
    public void functionTest() throws TestException {
        function(-1);
    }
}
InformationsquelleAutor Samwisest | 2012-04-13
Schreibe einen Kommentar