Java:如何使JUnit测试错误的变量

时间:2016-05-02 10:29:13

标签: java junit

我有一套方法。 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");
   }
}

3 个答案:

答案 0 :(得分:3)

我会将测试分开有效且无效的参数,并测试异常,如下所示:

@Test(expected=ColorException.class)
public void setInvalidFGCol()  {  
   draw.setFGColor("Not Acceptable String");  
}  

答案 1 :(得分:1)

如果是您期望的例外,您可以这样做:

@Test(expected = Exception.class)

来自here的原始答案。

答案 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");
}