레거시 Tomcat 프로젝트를 외부 Gradle 프로젝트에서 참조하여 테스트 및 보고 자동화

2564 단어 자바Tomcatgradle

레거시 Tomcat 프로젝트를 외부 Gradle 프로젝트에서 참조하여 테스트 및 보고 자동화



Overview



시스템 개발에 종사하고 있다면, Java+ApacheTomcat+Eclipse Tomcatプロジェクト로 구축된 웹 애플리케이션을 보는 경우가 많습니다.
그러한 시스템의 개수 안건등이 있었을 경우에서도, 역시 테스트 코드는 쓰고 싶은 것.
테스트 코드를 쓰면 Jenkins 씨에서 실행하여 테스트 결과 등을보고하고 싶다.

그런 희망을 실현하기 위해 시행착오한 결과, 이런 형식은 어딘지 모르게 도착했기 때문에 공개합니다.
소스 세트는 GitHub로 관리하고 있으므로, 그쪽을 이용해 주세요.
htps : // 기주 b. 코 m / 유 야마 구치 / G 라 d ぇ 부이 ld 푹신 x r 인 l과 m 또는 tP 로지 ぇ c ぁ mp

샘플 프로젝트 구성




  • TomcatProject
  • 기존 Tomcat 프로젝트
  • Eclipse상의 인식이 Tomcatプロジェクト가 되어 버려서, Maven 프로젝트나 Gradle 프로젝트로서 인식시킬 수 없는 제약이 있다. (하자)

  • TomcatProjectGradle
  • Gradle 프로젝트로 인식되는 프로젝트
  • TomcatProject에있는 테스트 코드를 실행하고 보고서를 출력하는 정의 등을 결합한 프로젝트
  • 이 프로젝트에서 TomcatProject

  • 반성점



    TomcatProject 내부에 테스트 코드를 작성하지 않고 TomcatProjectGradle 측에 테스트 코드를 작성할 수 있었을지도 모른다. (이번 경우에는 테스트 코드를 TomcatProject 내에 작성하는 것이 제약상 OK이므로 상기 구성으로 되어 있다.)

    하는 일


  • 외부에 설치된 프로젝트에 대한 Build
  • JUnit 결과 보고서 출력
  • FindBugs 보고서 출력 (HTML 지원)
  • jacoco에 의한 커버리지 리포트 출력 (HTML 대응)

  • 사용법



    명령 프롬프트에서 현재 디렉토리를 TomcatProjectGradle로 변경하여 실행하십시오.

    CI에 대한 모든 작업을 적절한 순서로 실행


    gradlew clean ci이 태스크에서는 다음 태스크가 순서대로 모두 실행됩니다.
  • clean … 모든 태스크를 실행하기 전에 정리한다.
  • findbugs ... findbugs는 check 태스크 종속성에 표준으로 설정되어 있기 때문에 check 런타임에 선행 실행됩니다.
  • testAll … check.dependsOn += testAll로 종속성을 설정하고 있기 때문에, check 실행시에, 선행해 실행된다.
  • check … checkstyle 실행
  • checkstyleReport … check 실행 결과의 xml에서 HTML 보고서를 출력
  • jacoco … jacoco의 코드 커버리지 보고서를 HTML 형식으로 출력

  • 개별적으로 작업을 수행하려는 경우



  • 지정된 TestSuite의 JUnit을 실행합니다.
  • gradlew testAllTests


  • FindBugs를 실행합니다.
  • gradlew findbugsTest


  • Checkstyle 실행 → 실행 후 Checkstyle 보고서를 출력합니다.
  • gradlew check
  • gradlew checkstyleReport


  • jacoco에 의한 커버리지 리포트를 출력한다.
  • gradlew jacoco

  • 좋은 웹페이지 즐겨찾기