728x90 반응형 setupspec2 호출 순서 TestBootstrapInitializer, TestExecutionListener, setupSpec, ApplicationContextInitializer @SpringBootTest 를 쓰는 경우 컴파일타임 - Annotation Processor 동작 - 소스를 AST(Abstract Syntax Tree, 추상 구문 트리)로 변환 - (groovy의 경우) @GroovyASTTransformation 동작 - AST를 확인하여 바이트코드(.class 파일) 생성 런타임 - @ExtendWith 확인만. 테스트 클래스에 선언된 Extension을(메소드들) 미리 스캔하여 등록만 함. - TestContext 초기화 시작 - TestContext 초기화 중간(순서대로) - TestBootstrapInitializer 동작 - TestExecutionListener 의 beforeTestClass() 메소드 동작 - (s.. 2025. 1. 10. spock @LocalServerPort 할당 시점, setup, setupSpec 차이 통합테스트이기 때문에 @SpringBootTest 를 사용하였고 때문에 전체 스프링 컨텍스트가 생성됩니다. 내용 선 요약 ❌그냥 바로 Url = "http://localhost:$port" 로 사용하면 안됩니다.java.lang.NumberFormatException: For input string: "null" 에러 발생위 그림에서 보았든 port는 테스트 컨텍스트가 모두 초기화 된 후에 할당됩니다.하지만 클래스 변수인 baseUrl은 테스트 컨텍스트 초기화 중에 할당되기 때문에 우리가 원하는 "http://localhost:8080" 형태가 아닌 "http://localhost:null" 이 되기때문에 에러가 발생합니다. ⭕그럼 어떻게 해야 하느냐? setup() 메소드를 사용해야합니다.setu.. 2024. 11. 20. 이전 1 다음 728x90 반응형