我有一种情况,我相当肯定不会发生异常。但是,由于所使用的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;
}
}
在这个类的完整版本中,我还有一个TransformerFactory
,Templates
和DocumentBuilderFactory
,它们都抛出已检查的异常,并且这些工厂返回自身抛出已检查异常的对象。我无法想到实际上会抛出这些异常的任何情况,但无论如何我都希望通过单元测试来解释它们。
是否有一种“干净”的单元测试方式,这些方法并不涉及模拟框架?