簡體   English   中英

在測試中未加載Spring PropertySource

[英]Spring PropertySource is not loaded in tests

我有一個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文件中加載的。 我嘗試在測試/資源下添加相同的屬性文件,但是沒有任何運氣。

我在這里做錯什么了嗎? 測試類如下所示:

@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());
    }
}

您在用戶字段上缺少@Value批注。

@Value("${key.from.properties.file}")
private String user;

您也可以將注釋附加到設置器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM