Junit测试涵盖异常。如何编写测试用例涵盖所有三个异常

时间:2018-10-10 11:40:40

标签: java junit

public void enqueue(AlarmMessage alarmMessage) {
   try
{
        if(alarmMessage != null)

     {
        alarmQueue.add(alarmMessage);
        LOGGER.info("Added alarm to queue :"+alarmMessage.getMessage());
      }
     }catch(IllegalStateException le){
            LOGGER.error("Error while enqueue message IllegalStateException ",le);
        }catch(ClassCastException ce){
            LOGGER.error("Error while enqueue message ClassCastException ",ce);
        }catch(IllegalArgumentException ie){
            LOGGER.error("Error while enqueue message IllegalArgumentException ",ie);
        }
    }

1 个答案:

答案 0 :(得分:0)

使用一些模拟框架,即。 Mockito,并使用alarmQueue模拟实例的各种配置实例创建3个测试,这些测试将抛出您想要的任何东西。 然后只需从这些测试中调用您的入队方法即可。