다중 모듈 스프링 부트 프로젝트의 단위 테스트

모 헨드라 아마 티아

다음과 같은 구조의 다중 모듈 프로젝트가 있습니다.

  • 서버 (응용 프로그램 컨텍스트 구성 포함) 및 기타 구성
  • 공유 (다른 모듈에서 사용하는 유틸리티 클래스)
  • 서비스 (다양한 저장소 및 서비스가있는 모듈)
  • 트랜잭션 (트랜잭션을 처리하는 모듈) 프로젝트에 대한 테스트를 작성해야하는데 프로젝트 구조를 변경할 수 없습니다. 트랜잭션 모듈에서 테스트를 만들었습니다.

처음에

@SpringBootConfiguration을 찾을 수 없습니다. 테스트에 @ContextConfiguration 또는 @SpringBootTest (classes = ...)를 사용해야합니다.

테스트 폴더에 @Configuration 파일을 만들어서 해결했습니다.

@Configuration
@ComponentScan("com.mohen")
public class TestConfig {
}

그리고 나는 그것을 @SpringBootTest(TestConfig.class).I 에서 사용했습니다 .Autowire 할 수 있었고 IDE는 오류 신호를 표시하지 않았습니다. 그러나 테스트를 실행할 때 서비스 모듈에서 종속성을 자동 연결하려는 다른 클래스에서 NoSuchBeanDefinitionException이 발생합니다.

이러한 문제를 해결하는 방법은 무엇입니까?

응용 프로그램의 기본 구성 파일은 다음과 같습니다.

@SpringBootApplication(scanBasePackages = "com.mohen")
@EnableScheduling
@EnableAsync
@Import(value = {SSIpFilter.class, MainConfig.class})
public class Application extends SpringBootServletInitializer {...}

MainConfig.class에는 componentScan 및 Import 주석이 포함되어 있습니다.

테스트에서 MainConfig.class를 가져 오려고하면 서버 모듈에 종속성을 추가하라는 제안이 있는데,이 작업은 원하지 않습니다.

또한 전체 애플리케이션은 단일 속성 파일 (yml)을 사용합니다. 테스트를 위해 속성 파일을 어디에 보관해야합니까?

편집하다

테스트, dataJpaTest 및 통합 테스트를 실행했지만 전체 애플리케이션 컨텍스트를로드합니다.

이제 문제는 정상적으로 통과하는 테스트가 프로젝트를 빌드 할 때 실패한다는 것입니다. ./gradlew clean build

나는 얻다

java.lang.NoClassDefFoundError

일부 수업에서

원인 : javassist.NotFoundException

다른.

javaassist 라이브러리를 추가하려고했지만 작동하지 않습니다.

어떤 생각?

모 헨드라 아마 티아

내 질문에 대한 해결책을 찾았습니다. 프로젝트가 다중 모듈이기 때문에 클래스와 패키지가 다른 모듈에서 인식되지 않았습니다. 모듈의 build.gradle 파일을 몇 가지 변경했습니다.

testRuntime project(':shared')

위의 종속성을 추가하고

jar {
    enabled = true
}
bootRepackage{
    enabled = false
}

jar는 간단한 실행 불가능한 jar 파일을 생성하는 반면 bootRepackage는 기본적으로 그 특성 인 실행 가능한 jar의 생성을 비활성화합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다중 모듈 Gradle 프로젝트를위한 단일 소스 jar 만들기

분류에서Dev

Maven 다중 모듈 프로젝트에서 테스트 실행

분류에서Dev

Maven 프로젝트를 다중 모듈 프로젝트의 하위 모듈로 변환 하시겠습니까?

분류에서Dev

다중 모듈 프로젝트의 Gradle 테스트 라이브러리

분류에서Dev

다중 모듈 프로젝트의 Maven 테스트 수명주기

분류에서Dev

자신의 모듈에있는 모든 모듈에 대한 스프링 부팅 단위 테스트를 실행

분류에서Dev

다중 모듈 스프링 부트 및 시작 클래스

분류에서Dev

Github에서 다중 모듈 SBT 프로젝트의 하위 프로젝트에 의존하는 방법

분류에서Dev

svn의 일부 모듈로 다중 모듈 Maven 프로젝트의 부모 모듈을 구성하는 방법

분류에서Dev

멀티 모듈 메이븐 프로젝트 변화의 스프링 부팅 DevTools로 다시로드

분류에서Dev

다중 모듈 스프링 부트 JPA 애플리케이션

분류에서Dev

다중 모듈 스프링 부트 구성

분류에서Dev

다중 모듈 Maven 프로젝트에서 통합 테스트 공유

분류에서Dev

다중 모듈 Maven 프로젝트-범위

분류에서Dev

다중 모듈 프로젝트에 대한 SonarQube 범위

분류에서Dev

Maven : 다중 모듈 상위 프로젝트의 하위 모듈을 완전히 별도의 다른 프로젝트에서 사용할 수 있습니까?

분류에서Dev

Jest 테스트를 위해 다중 모듈 프로젝트에서 사용자 정의 React Hook을 사용할 때 오류

분류에서Dev

모듈 용 Python 단위 테스트

분류에서Dev

단위 테스트의 스프링 부트 데이터 소스

분류에서Dev

Maven 다중 모듈 프로젝트의 Spring 종속성 주입

분류에서Dev

GWT 다중 모듈 프로젝트의 현지화

분류에서Dev

다중 모듈 Java Maven 프로젝트의 표준 구조

분류에서Dev

Eclipse에서 Maven 다중 모듈 프로젝트 리팩토링

분류에서Dev

다중 모듈 프로젝트에서 테스트 클래스를위한 적절한 위치는 무엇입니까?

분류에서Dev

Gradle은 단위 테스트가 실행될 때 모든 하위 프로젝트를 빌드합니다.

분류에서Dev

IntelliJ IDEA에서 Maven 다중 모듈 프로젝트의 중첩 모듈을 최상위 모듈로 표시하는 방법은 무엇입니까?

분류에서Dev

다중 모듈 빌드의 모든 하위 프로젝트에 withJavadocJar () 및 withSourcesJar () 적용

분류에서Dev

Asserting Status Code에 의한 단위 테스트 .net 프로젝트

분류에서Dev

vb.net 프로젝트의 단위 테스트

Related 관련 기사

  1. 1

    다중 모듈 Gradle 프로젝트를위한 단일 소스 jar 만들기

  2. 2

    Maven 다중 모듈 프로젝트에서 테스트 실행

  3. 3

    Maven 프로젝트를 다중 모듈 프로젝트의 하위 모듈로 변환 하시겠습니까?

  4. 4

    다중 모듈 프로젝트의 Gradle 테스트 라이브러리

  5. 5

    다중 모듈 프로젝트의 Maven 테스트 수명주기

  6. 6

    자신의 모듈에있는 모든 모듈에 대한 스프링 부팅 단위 테스트를 실행

  7. 7

    다중 모듈 스프링 부트 및 시작 클래스

  8. 8

    Github에서 다중 모듈 SBT 프로젝트의 하위 프로젝트에 의존하는 방법

  9. 9

    svn의 일부 모듈로 다중 모듈 Maven 프로젝트의 부모 모듈을 구성하는 방법

  10. 10

    멀티 모듈 메이븐 프로젝트 변화의 스프링 부팅 DevTools로 다시로드

  11. 11

    다중 모듈 스프링 부트 JPA 애플리케이션

  12. 12

    다중 모듈 스프링 부트 구성

  13. 13

    다중 모듈 Maven 프로젝트에서 통합 테스트 공유

  14. 14

    다중 모듈 Maven 프로젝트-범위

  15. 15

    다중 모듈 프로젝트에 대한 SonarQube 범위

  16. 16

    Maven : 다중 모듈 상위 프로젝트의 하위 모듈을 완전히 별도의 다른 프로젝트에서 사용할 수 있습니까?

  17. 17

    Jest 테스트를 위해 다중 모듈 프로젝트에서 사용자 정의 React Hook을 사용할 때 오류

  18. 18

    모듈 용 Python 단위 테스트

  19. 19

    단위 테스트의 스프링 부트 데이터 소스

  20. 20

    Maven 다중 모듈 프로젝트의 Spring 종속성 주입

  21. 21

    GWT 다중 모듈 프로젝트의 현지화

  22. 22

    다중 모듈 Java Maven 프로젝트의 표준 구조

  23. 23

    Eclipse에서 Maven 다중 모듈 프로젝트 리팩토링

  24. 24

    다중 모듈 프로젝트에서 테스트 클래스를위한 적절한 위치는 무엇입니까?

  25. 25

    Gradle은 단위 테스트가 실행될 때 모든 하위 프로젝트를 빌드합니다.

  26. 26

    IntelliJ IDEA에서 Maven 다중 모듈 프로젝트의 중첩 모듈을 최상위 모듈로 표시하는 방법은 무엇입니까?

  27. 27

    다중 모듈 빌드의 모든 하위 프로젝트에 withJavadocJar () 및 withSourcesJar () 적용

  28. 28

    Asserting Status Code에 의한 단위 테스트 .net 프로젝트

  29. 29

    vb.net 프로젝트의 단위 테스트

뜨겁다태그

보관