在软件构造Lab3中,一些方法抛出了异常。在测试的时候,需要测试这些异常是否被抛出,以及抛出的异常的类型是否符合要求。实现方法如下所示:
方式一
-首先,利用Rule策略生成一个expected exception对象:
- 其次,在每个希望测试的希望抛出异常的方法中,通过该对象的expect方法设置期望抛出的异常类。如图所示:
- 最后,在该方法剩下的部分插入测试的代码即可。
- 这种方法还可以用来测试异常的消息
方式二
- 通过在测试方法前面添加(expected = 异常名)的方式进行预期异常的设置
- 当测试方法抛出预期的异常时,测试通过;否则测试是不会通过的。
@Test
expected = XXXXX.class
public void test()
{
XXX
}
方式三
- 通过传统的try,catch方法捕捉异常,当未捕捉到异常时,调用fail方法使得测试失败
- 如果catch到了指定的异常,那么测试成功
@Test
public void testexception()
{
try
{
测试代码
fail(); //没有捕捉到异常
}
catch(XXXexception e)
{
}
}
- 对于lab3而言,需要采用第二种方式