Как я могу загрузить свойства из своего application-test.properties в мой тестовый класс в Spring Boot? Я делаю что-то не так, но не могу понять это?
Я могу получить свойства из application.properties для моего класса конфигурации, указанного ниже
package org.vinodh.testing;
import java.util.Map;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import lombok.Data;
@Configuration
@ConfigurationProperties(prefix = "caching")
@Data
public class CachingConfig {
@Value("${caching.name}")
private String name;
@Data
public static class CacheSpec {
private int minutesToExpire;
private int maximumSize;
}
private Map<String, CacheSpec> specs;
@Bean
public void test() {
System.out.println(name);
System.out.println(specs);
}
}
, но когда я пытаюсьсделать то же самое в тестовом классе получаю ноль см. код ниже. Как получить тестовый класс для печати значений из файла свойств?
package org.vinodh.testing;
import java.util.Map;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestPropertySource;
import lombok.Data;
@RunWith(SpringRunner.class)
@ContextConfiguration
@ConfigurationProperties(prefix = "caching")
@TestPropertySource("/application-test.properties")
@Data
public class CachingConfigTest {
@Value("${caching.name}")
private String name;
@Data
public static class CacheSpec {
private int minutesToExpire;
private int maximumSize;
}
private Map<String, CacheSpec> specs;
@Test
public void test() {
System.out.println(name);
System.out.println(specs);
}
}
application.properties
caching.specs.test.minutesToExpire=10
caching.specs.test.maximumSize=10
caching.name=Vinodh
application-test.properties
caching.specs.test.minutesToExpire=10
caching.specs.test.maximumSize=10
caching.name=Vinodh