728x90 반응형 Abstract syntax tree2 @GroovyASTTransformation 컴파일타임 조작, 어노테이션 동적 적용 목차build.gradle 추가한 내용구현하고 싶은 것, 그 이유AST 란?AST Transformation 메인 코드보기CompilePhaseAST Transformation 종류Local AST TransformationGlobal AST TransformationAST 로 어노테이션, 메소드 추가하기xxxApiTest.groovy Spock 테스트코드AST Transformation 풀코드 groovy 4.0spock 2.3사용했습니다. 🎈 build.gradle 추가한 내용 pluginsid 'groovy' allprojectsapply plugin: 'groovy' dependencies// groovytestImplementation 'org.apache.groovy:groovy-all.. 2025. 2. 24. 삽질. groovy, spock 통합테스트 적용 spock 통합테스트를 하려는 과정이다. 나는 특정 조건에 따라 테스트 클래스에 @SpringBootTest, @DataJpaTest 둘 중에 하나를 적용하고 싶었다. @Conditional 은 스프링 컨텍스트가 확인하는 것이기 때문에 스프링 컨텍스트가 생성된 이후에 동작한다. @SpringBootTest, @DataJpaTest 이것들이 스프링 컨텍스트를 만드는 어노테이션인데 스프링 컨텍스트가 없는 시점에 이걸 조건적으로 적용하고 싶은거니까 애초에 @Conditional 은 못쓴다. 컴파일타임에 어노테이션이 고정된다(소스코드가 정해진다)junit의 @ExtendWith 으로 조건적으로 액티브 프로필을 적용할 순 있다.@ExtendWith(ConditionalTestExtension.class) 으로 .. 2024. 12. 19. 이전 1 다음 728x90 반응형