单元测试分支覆盖应该永远不会抛出的已检查异常

时间:2017-02-08 17:17:01

标签: java unit-testing

我有一种情况,我相当肯定不会发生异常。但是,由于所使用的API的设计,无论如何我必须考虑它们。在不太可能的情况下抛出这些异常,我将抛出一个RuntimeException,它将冒泡到UI。这是一个简单的案例:

public class SomethingUsingJaxB{
   private JAXBContext jaxbContext;

   public SomethingUsingJaxB(){
      try{
          jaxbContext = JAXBContext.newInstance(Input.class);
      }catch(JAXBException e){
          throw new RuntimeException(e);
      }
   }

   public Output getOutput(Input input){
      //Do stuff with jaxbContext that also throws checked exceptions;
   }
}

在这个类的完整版本中,我还有一个TransformerFactoryTemplatesDocumentBuilderFactory,它们都抛出已检查的异常,并且这些工厂返回自身抛出已检查异常的对象。我无法想到实际上会抛出这些异常的任何情况,但无论如何我都希望通过单元测试来解释它们。

是否有一种“干净”的单元测试方式,这些方法并不涉及模拟框架?

0 个答案:

没有答案