我将以代码示例开始;我必须测试一个处理数据包的函数。在这个函数中,数据包被打开,并且当它不包含所有期望的数据时,抛出一个InvalidParameterExeption被记录。测试Junit是否捕获到异常
public void handleData(dataPacket) {
try {
analyseData(dataPacket);
} catch (InvalidParameterException e) {
e.printStackTrace()
}
}
所以,如果一切顺利,我的例外是打印在我的终端。 但我该如何测试呢?我不能用这个(因为异常被捕获)
@Test(expected = InvalidParameterExeption.class)
public void testIfFaultyDataPacketIsRecognised {
handleData(faultyDataPacket);
}
如何测试该InvalidParameterExeption抛出?
要么你不应该捕捉异常,或者你应该删除@expected注释并找出资产的其他东西。打印堆栈跟踪不能很好地处理异常。事实上,你对于该做什么感到困惑,这暗示着你的班级的客户在有错误的数据包时感觉如何,他们不知道该怎么做。 – duffymo
为'analyseData'而不是'handleData'编写一个测试。 – Thiefster