我想知道我是否可以测试(使用JUnit)异常生成的特定消息被抛出而不仅仅是"是否"抛出异常.例如,JunitTest.java代码实际上将通过测试,因为抛出了异常,但如果我还想测试异常生成的字符串是否等于:"测试异常:整数可能不是负..."这是可能的?
TestException.java
public class TestException extends Exception {
/**
* @param message informative message about the problem found
*/
public TestException (String message) {
super("Test Exception: " + message);
}
}
Run Code Online (Sandbox Code Playgroud)
Test.java
public void function(Integer mustBePositive) throws TestException {
if (mustBePositive < 0) {
throw new TestException("Integer may not be negative..");
}
else {
mustBePositive = myNum
}
}
Run Code Online (Sandbox Code Playgroud)
JunitTest.java
import org.junit.*;
public class JUnitTest {
@Test(expected = TestException.class)
public void functionTest() throws TestException {
function(-1);
}
}
Run Code Online (Sandbox Code Playgroud)