例外がスローされたかどうかだけでなく、例外によって生成された特定のメッセージがスローされることを (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);
}
}
テスト.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);
}
}