繁体   English   中英

JUnit异常处理测试

[英]JUnit exceptions handling testing

我正在尝试测试下一个异常,但是我不知道如何从JUnit引发异常,因为这是方法的内部异常。

public boolean suscribirADato(int idDato) {
        InetAddress ip = null;
        boolean adecuadamenteSuscrito = false;

        try {
            ip = InetAddress.getByName(ipMulticast.get(idDato));
            grupoMulticast.set(idDato, ip);
            conexion.joinGroup(grupoMulticast.get(idDato));
            adecuadamenteSuscrito = true;
        } catch (IOException e) {
            LOGGER.info(e.getMessage());
        }
        return adecuadamenteSuscrito;
    }

您需要研究Mockito框架。 http://mockito.org/ when(myMockedObject.routine(anyParameter()))。thenThrow(new NullPointerException());

其他回答说,您应该使用模拟框架。

但是,我对您的问题的理解如下:

我不知道如何从JUnit引发异常,因为这是方法的内部异常

我的理解是,你正试图单元测试异常抛出和捕获方法里面?

也许您的方法应该分为两种或两种以上的方法,您可以分别进行测试?

从您的代码示例中,抛出异常时正在执行的逻辑是

LOGGER.info(e.getMessage());

您还可以选择模拟LOGGER并在调用信息时保留跟踪。 然后,您可以断言确实调用了LOGGER.info(如果我理解正确,那就是)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM