我是JUnit的新手,我正在尝试为以下课程编写单元测试:
class MyClass {
public void throwException() throws MyException {
try {
JSONObject json = new JSONObject();
json.getString("param");
} catch(JSONException e) {
throw new MyException(e);
}
}
}
我的用例是这样的,我只能从throwException()方法抛出MyException(我的Exception类的包装器)。我使用JUnit为此编写了一个测试用例,如下所示:
@Test(expected = MyException.class)
public void testIfThrowsException throws MyException {
MyClass myClass = new MyClass();
myClass.throwException();
}
当我运行此单元测试用例时,测试通过但仍然在控制台中记录了JSONException。控制台消息:
- param parameter is not string
org.json.JSONException: JSONObject["param"] not found.
at org.json.JSONObject.get(JSONObject.java:498)
at org.json.JSONObject.getString(JSONObject.java:669)
at .......
这是预期的行为还是我在单元测试的实现中做错了什么。如果这是预期的,那么我怎么能抑制这样的控制台消息。