I'm trying to load a list from application-test.yaml into the class, but it doesn't work.
This is how my application-test.yaml looks like:
category-merchandiser:
-
username: test
password: blas3cret
roles:
- test
- admin
@Configuration
@ConfigurationProperties(prefix = "category-merchandiser")
public class CategoryMerchandiserUsersConfig {
private List<CategoryMerchandiser> users = new ArrayList<>();
** getters & setters **
public static class CategoryMerchandiser {
private String username;
private String password;
private List<String> roles = new ArrayList<>();
** getters & setters **
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = CategoryMerchandiserUsersConfig.class)
public class CategoryMerchandiserUsersTest {
@Autowired
CategoryMerchandiserUsersConfig config;
@Test
public void shouldLoadApplicationYamlToClass() {
assertThat(config.getUsers().size(), is(2));
}
}
java.lang.AssertionError:
Expected: is <2>
but: was <0>
Expected :is <2>
Actual :<0>
It works! My problem was that i've no application context. So i moved the tests into integration test directory. That's all.