해결된 질문
작성
·
373
1
안녕하세요.
강의를 보다가 궁금한점이 생겼는데, 아래의 false 컨디션을 체크하는 테스트 코드에서 Config 클래스가 빈에 등록되어 있는지를 확인할때 Config1 이 존재하는지를 테스트 하신 이유가 궁금합니다.
// false
new ApplicationContextRunner().withUserConfiguration(Config2.class)
.run(context -> {
assertThat(context).doesNotHaveBean(MyBean.class);
assertThat(context).doesNotHaveBean(Config1.class);
});
제 생각에는 설정을 Config2 클래스로 등록을 했기 때문에 Conditional 여부와는 관계 없이 Config1 은 없을것 같은 생각이 들어서 질문 드립니다.
답변 1
1
아래 Config1을 체크하는 assertThat은 잘못된 코드네요. ㅠㅠ
Config2를 확인했어야 합니다.
위에 MyBean이 등록되지 않은 것이 확인됐다면 Config2가 컨디션 조건을 통과하지 못한 게 분명하긴 합니다만 아래 Config1은 Config2여야 맞습니다. 해당 수업에 관련된 노트나 안내를 추가해보겠습니다.