Java:如何对错误的变量进行JUnit测试
我有一套方法。set方法只接受几个字符串。如果字符串不可接受,set方法将发出ColorException(自己的异常)。如何进行JUnit测试以测试是否出现颜色异常?这里是我目前的testclass(我用try-catch…)进行了尝试:Java:如何对错误的变量进行JUnit测试,java,junit,Java,Junit,我有一套方法。set方法只接受几个字符串。如果字符串不可接受,set方法将发出ColorException(自己的异常)。如何进行JUnit测试以测试是否出现颜色异常?这里是我目前的testclass(我用try-catch…)进行了尝试: 如果是您期望的异常,您可以这样做: @Test(预期=Exception.class) 原始答案来自。我会将有效和无效参数的测试与异常的测试分开,如下所示: @Test(expected=ColorException.class) public void s
如果是您期望的异常,您可以这样做:
@Test(预期=Exception.class)
原始答案来自。我会将有效和无效参数的测试与异常的测试分开,如下所示:
@Test(expected=ColorException.class)
public void setInvalidFGCol() {
draw.setFGColor("Not Acceptable String");
}
您应该编写两个测试用例,这样您就可以很容易地看到哪个测试失败了 您可以在第二个测试用例中声明异常是预期的
@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");
}
代码质量旁注:使用普通字符串表示颜色。。。坏主意。然后。。。捕获异常,但只是打印它-不要这样做。这样做基本上是使测试无效。
@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");
}