Java: How to make JUnit Tests for wrong variables
本问题已经有最佳答案,请猛点这里访问。
我有一套方法。set方法只接受几个字符串。如果字符串不可接受,则set方法会发出一个colorException(自己的异常)。如何进行JUnit测试以测试是否出现颜色异常?现在我的测试类在这里(我用try-catch…)尝试了它:
1 2 3 4 5 6 7 8 9 10 11 12 | @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"); } } |
我会将有效和无效参数的测试与异常的测试分开,如下所示:
1 2 3 4 | @Test(expected=ColorException.class) public void setInvalidFGCol() { draw.setFGColor("Not Acceptable String"); } |
如果这是您期望的例外情况,您可以这样做:
原始答案。
您应该编写两个测试用例,这样您就可以很容易地看到哪个测试失败了。
并且您可以在第二个测试用例中声明预期的异常。
1 2 3 4 5 6 7 8 9 10 11 12 | @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"); } |