【发布时间】:2019-06-30 18:15:11
【问题描述】:
我想为我的测试使用application.properties 中的值和@WithUserDetails() 注释。
我当前的代码:
@Value("${user.admin}")
private String ADMIN;
@Test
@WithUserDetails(ADMIN)
public void foo() {
}
显示错误“属性值必须是常量”
我正在将junit4与spring runner一起使用
【问题讨论】:
-
@Deadpool 这似乎只是将字符串 ${user.admin} 作为值传递,而不是从 application.properties 获取值
-
尝试将变量设为静态变量。示例:私有静态最终字符串 ADMIN;
-
@Clover nope 不起作用,谢谢朋友!
-
好吧,你不应该用大写字母写简单的成员变量,因为这通常只用于常量。
ADMIN不是常量,这是你的问题(Java 注释只接受常量作为参数,即字符串文字或static final以字符串文字作为值的成员)。
标签: java spring spring-boot junit junit4