我有一个spring @Component
类,用于从类路径中的.properties文件加载属性。该课程如下:
@Component
@ConfigurationProperties("mail")
@PropertySource("classpath:config.properties")
public class MailProperties {
private String user;
public void setUser(String user) {
this.user = user;
}
public String getUser() {
return this.user;
}
}
我正在对上面的类进行单元测试,但在单元测试中,user
属性始终为null
,这意味着它不是从.properties文件加载的。我尝试在test / resources下添加相同的属性文件,但没有任何运气。
我在这里做错了吗?测试类如下所示:
@RunWith(SpringJUnit4ClassRunner.class)
@TestPropertySource("classpath:config.properties")
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = {MailProperties.class})
public class MailPropertiesTest {
@Autowired
private MailProperties mailProperties;
@Test
public void testUser() {
assertNotNull( this.mailProperties.getUser());
}
}
答案 0 :(得分:0)
您缺少用户字段上的@Value
注释。
@Value("${key.from.properties.file}")
private String user;
您也可以将注释附加到设置器。