I am trring to read a value from the properties file in my junit setup using spring boot. I can not read the value. Below is my content:-
application-test.properties
my.user.name=Amar
COnfig file to create beans:
@Configuration
@ActiveProfiles("test")
@Profile("test")
public class RdbmsTestConfig {
@Value("${my.user.name}")
private String name;
@Bean
public String myString(){
return "Amar";
}
@Bean
public PropsHolder propsHolder() {
PropsHolder propsHolder = new PropsHolder();
propsHolder.setUserName(name);
return propsHolder;
}
}
My test class:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = RdbmsTestConfig.class)
@ActiveProfiles("test")
public class TestRoomService {
@Autowired
@Qualifier("myString")
private String myString;
@Autowired
private PropsHolder propsHolder;
@Autowired
private Environment env;
@Test
public void userTest() {
Arrays.stream(env.getActiveProfiles()).forEach(System.out::println);
System.out.println(propsHolder.getUserName());
Assert.assertNotNull(myString);
Assert.assertEquals("Amar",myString);
}
}
The value for propsHolder.getUserName comes out to be ${my.user.name}