在我的单元测试中,我通常使用反射手动将模拟注入测试类的私有字段:
static void setFieldValue(Object instance, String fieldName, Object fieldValue, Class instanceClass) {
def field = instanceClass.getDeclaredField(fieldName)
field.accessible = true
field.set(instance, fieldValue)
}
其中instanceClass是类/超类,其中实际声明了类。如何在一个常规特征上声明私有字段,使其工作或获得相同的结果?
答案 0 :(得分:0)
我的IDE帮助了我 - 只需使用@属性访问表示法,其中fieldname为package_dots_replaced_with_underscore_TraitName__fieldName,例如
testee.@pl_kamilroman_DeleteEntityBean__messages