gpt4 book ai didi

java - getClass of mockito 模拟

转载 作者:行者123 更新时间:2023-11-29 04:56:20 27 4
gpt4 key购买 nike

我需要获取实例的 bean 名称。所以我构建(简化):

  public String getName(Object instance) {
return uncapitalize(instance.getClass().getSimpleName();
}

测试期间发生的事情是 mock(MyInstance.class) 进入此方法。然后,我得到的不是 "myInstance",而是 "testClassName$$MyInstance$$EnhancerByMockito$$...."

是否有可能以某种方式检测到该实例是模拟实例并获得“真实”类型?

最佳答案

感谢@Andy Turner,我现在使用这个:

 static final String ENHANCER = "$$EnhancerByMockitoWithCGLIB$$";

static Class<? extends Object> typeOf(Object instance) {
Class<? extends Object> type = instance.getClass();
while(type.getSimpleName().contains(ENHANCER)) {
type = type.getSuperclass();
}

return type;
}

关于java - getClass of mockito 模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33628585/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com