0
クラスパスの.propertiesファイルからプロパティをロードするために使用されるクラス@Component
クラスがあります。クラスは次のようになります。Spring PropertySourceがテストでロードされていません。
@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
プロパティをテストしていますそれは.propertiesファイルからロードされていないという意味、常にnull
です。私はテスト/リソースの下で同じプロパティファイルを追加しようとしましたが、運もありません。
ここで何か問題がありますか?テストクラスは次のようになります。
@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());
}
}