我想知道我是否可以测试(使用 JUnit)由异常生成的特定消息被抛出,而不仅仅是“是否”抛出异常。例如,JunitTest.java 代码实际上会通过测试,因为抛出了异常,但如果我还想测试异常生成的字符串是否等于:“测试异常:整数可能不是负数..”这可能吗?
测试异常.java
public class TestException extends Exception {
/**
* @param message informative message about the problem found
*/
public TestException (String message) {
super("Test Exception: " + message);
}
}
测试.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);
}
}