필요에 따라 테스트시 테스트 전용 Config를 사용해야 할 필요가 있었다.
@SpringBootApplication(
scanBasePackages = {
"com.mjy.coin.config",
"com.mjy.coin.service"
},
exclude = {KafkaAutoConfiguration.class}
)
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
테스트 패키지에서 애플리케이션을 생성하고 스캔할 패키지 경로를 설정한다.
import org.springframework.stereotype.Service;
@Service
public class TestService {
public String getMessage() {
return "Hello from Test!";
}
}
테스트 패키지에서 테스트용 서비스가 잘 읽혀지는지 확인하기 위해 테스트 서비스를 하나 생성한다.
@SpringBootTest(classes = TestApplication.class)
@ActiveProfiles("test")
public class IntegrationTest {
@Autowired
private TestService testService;
@Test
public void testServiceBean() {
String message = testService.getMessage();
System.out.println("Loaded Bean Message: " + message);
assertThat(message).isEqualTo("Hello from Test!");
}
}
테스트패키지의 서비스가 잘 수행되는것을 볼수 있다.
테스트패키지를 먼저 스캔하고 메인 패키지를 스캔할때 이미 테스트 패키지에서 빈을 등록했기 때문에 중복해서 빈이 등록되지 않는다.
'개인공부 > TIL' 카테고리의 다른 글
대규모 AI 시스템 프로젝트 (0) | 2025.03.13 |
---|