使用 mockito 从 Object 模拟 BeanInfo class

Mock BeanInfo class from Object using mockito

假设我有以下方法结构:

protected static void sub(Object obj, String filler) {

    class cls = obj.getClass();
    BeanInfo beanInfo = Introspector.getBeanInfo(cls);

    // Other code...
}

如何模拟 BeanInfo class 给定的结构?

将此逻辑移至单独的方法:

static BeanInfo beanInfo(Object obj) {
    Class cls = obj.getClass();
    BeanInfo beanInfo = Introspector.getBeanInfo(cls);
}

然后模拟 beanInfo 方法。

编码时应牢记 dependency injection。然后你可以在测试中将模拟作为参数传递。

protected static void sub(BeanInfo beanInfo, String filler) {
    // code...
}