Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如何对错误的变量进行JUnit测试_Java_Junit - Fatal编程技术网

Java:如何对错误的变量进行JUnit测试

Java:如何对错误的变量进行JUnit测试,java,junit,Java,Junit,我有一套方法。set方法只接受几个字符串。如果字符串不可接受,set方法将发出ColorException(自己的异常)。如何进行JUnit测试以测试是否出现颜色异常?这里是我目前的testclass(我用try-catch…)进行了尝试: 如果是您期望的异常,您可以这样做: @Test(预期=Exception.class) 原始答案来自。我会将有效和无效参数的测试与异常的测试分开,如下所示: @Test(expected=ColorException.class) public void s

我有一套方法。set方法只接受几个字符串。如果字符串不可接受,set方法将发出ColorException(自己的异常)。如何进行JUnit测试以测试是否出现颜色异常?这里是我目前的testclass(我用try-catch…)进行了尝试:


如果是您期望的异常,您可以这样做:

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