2011-03-14 3 views
7

Cobertura를 사용하여 코드 적용 범위를 적용하려고합니다. 응용 프로그램은 으로 Tomcat 5에 배포되었지만, .class 파일을 계측하면 응용 프로그램이 작동을 멈 춥니 다.Cobertura on Tomcat

  • 는 응용 프로그램 (바람둥이에이 런)
  • 악기 클래스 파일을 컴파일

    이 내 단계입니다.

    D:\test\cobertura-1.9.4.1\cobertura-instrument.bat --destination D:\test\instrument D:\src\path_to_app\main\target\webapp 
    
  • D:\test\instrument의 계측 클래스 파일로 D:\src\path_to_app\main\target\webapp 의 클래스 파일을 덮어 씁니다.

  • Catalina conf 또는 war 파일을 통해 Tomcat에 앱을 배포하십시오. 합니다 ( 응용 프로그램이 작동하지 않습니다)

사람이 제대로 Cobertura에 의해 계측 된 클래스와 톰캣 에 응용 프로그램을 배포하기위한 정확한 단계가 있습니까?

참조 : 나는 "응용 프로그램이 작동하지 않습니다"무엇 cobertura-1.9.4.1

답변

11

올바른 단계는 다음과 같다 :

  • 이 응용 프로그램
  • 악기를 클래스 파일을 컴파일합니다. D:\test\cobertura-1.9.4.1\cobertura-instrument.bat --destination D:\test\instrument D:\src\path_to_app\main\target\webapp

  • D:\test\instrument의 계측 클래스 파일로 D:\src\path_to_app\main\target\webapp 의 클래스 파일을 덮어 쓰기 (A cobertura.ser의 생성).

  • cobertura.jar를 WEB-INF/lib에 복사하십시오.
  • Tomcat에 직접 또는 war 파일로 응용 프로그램을 배포하십시오.
  • 복사 바람둥이 (바람둥이/빈 또는 system32를, 그렇지 않으면 오류 로그에 경로를 볼 수)의 현재 디렉토리에 cobertura.ser
  • 이 응용 프로그램을 사용하여 Tomcat 서버를 중지합니다.
  • (적어도 나를 위해, 크기는 변경되지 않습니다) (system32를 나 ...) 업데이트 된 cobertura.ser와 보고서를 작성

참조 : - http://cobertura.sourceforge.net/faq.html - JB Nizet 응답

+0

사람들이 그런 위대한 대답을 무시하는 것은 이상합니다. 고마워요. +100500을 카마에 넣으십시오. –

0

을 사용하고 http://cobertura.sourceforge.net/faq.html

의미? tomcat 출력/로그에서 예외가 있습니까? 그것은 무엇을 말하는가?

배포하기 전에 webapp의 WEB-INF/lib 폴더에 cobertura jar를 넣는 걸 잊었을 것 같습니다. 분명히 cobertura instrumentation에 의한 코드 addd는 cobertura 엔진의 메소드를 호출하기 때문에이 클래스는 webapp에서 사용할 수 있어야합니다.

+0

오류는 404입니다. 고마워, 나는 그것을 시도 할 것입니다. – Gareve