• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

@Conditional 학습테스트 강의 질문 입니다.

23.02.14 21:09 작성 조회수 298

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여야 맞습니다. 해당 수업에 관련된 노트나 안내를 추가해보겠습니다.