我有一套方法。 set方法只接受几个字符串。如果String不可接受,则set方法会发出ColorException(Own Exception)。如何进行JUnit测试以测试是否出现颜色异常?这是我的测试类(我尝试使用try catch ...):
@Test
// set&check foreground colors for drawings
public void setgetFGCol() {
try {
draw.setFGColor("Red");
assertEquals(draw.getFGColor(), "Red");
draw.setFGColor("Not Acceptable String");
// fail("handle fail?");
} catch (ColorException e) {
System.out.println("Dies ist keine bekannte Farbe");
}
}
答案 0 :(得分:3)
我会将测试分开有效且无效的参数,并测试异常,如下所示:
@Test(expected=ColorException.class)
public void setInvalidFGCol() {
draw.setFGColor("Not Acceptable String");
}
答案 1 :(得分:1)
答案 2 :(得分:0)
您应该编写两个测试用例,以便轻松查看哪个测试失败。
您可以在第二个测试用例中声明异常是预期的。
@Test
// set&check foreground colors for drawings
public void setgetFGCol() {
draw.setFGColor("Red");
assertEquals(draw.getFGColor(), "Red");
}
@Test(expected=ColorException.class)
// set&check foreground colors for drawings
public void setInvalidFGCol() throws ColorException {
draw.setFGColor("Not Acceptable String");
}