这是我第三次在该SO职位上进行谷歌搜索,因为我总是忘记如何模拟@Value字段。尽管接受的答案是正确的,但我总是需要一些时间才能正确完成“ setField”调用,因此至少对我而言,我在此处粘贴了一个示例代码段:
生产类别:
@Value("#{myProps[‘some.default.url']}")private String defaultUrl;测试类别:
import org.springframework.test.util.ReflectionTestUtils;ReflectionTestUtils.setField(instanceUnderTest, "defaultUrl", "http://foo");// Note: Don't use MyClassUnderTest.class, use the instance you are testing itself// Note: Don't use the referenced string "#{myProps[‘some.default.url']}", // but simply the FIELDs name ("defaultUrl")


