我想将application.properties
中带有@WithUserDetails()
注释的值用于测试。
我当前的代码:
@Value("${user.admin}")
private String ADMIN;
@Test
@WithUserDetails(ADMIN)
public void foo() {
}
显示错误“属性值必须为常数”
我正在将junit4和springRunner一起使用
答案 0 :(得分:1)
似乎无法做到这一点,Java编译器不允许这样做,因为它在编译时不认为@Value()
中的值是常量。
答案 1 :(得分:0)
java内置了读取.properties文件的功能,而JUnit内置了在执行测试套件之前运行安装代码的功能。
java读取属性:
Properties p = new Properties();
p.load(new FileReader(new File("application.properties")));
将这2个放在一起,您应该拥有所需的东西。
但是,是的,最低要求是您的application.properties
包中还包含test->resources
个文件。