我正在为我的一种方法编写 Java 单元测试。方法声明是这样的:
public int convertToInteger() throws InvalidRomanNumberException
{
int result=0;
BaseRomanNumeral num1, num2;
int i=0;
if(!validOperation())
throw new InvalidRomanNumberException();
}
现在我正在尝试编写两个单元测试。一种是测试是否抛出了正确的异常。另一个是确保写入转换发生。这就是我的测试用例的样子
@Test
public void testRomanNumberConversion() {
String romanValue="MCMII";
RomanNumber num=new RomanNumber(romanValue);
assertEquals(1903,num.convertToInteger());
}
@Test(expected = InvalidRomanNumberException.class)
public void testInvalidRomanNumberExceptionThrown() {
String romanValue="MCMIIII";
RomanNumber num=new RomanNumber(romanValue);
num.convertToInteger();
}
对于这两个测试用例,我都收到一条错误消息:Unhandled InvalidRomanNumberException。仅当我将 throws InvalidRomanNumberException 添加到每个方法定义时才能解决此问题。但我认为这不是正确的方法。只是想和你们其他人核实一下,这里的标准是什么?我应该如何解决这个未处理的异常消息