2011-02-17 3 views
0

프로덕션 모드에서 일부 GWT 모듈의 단위 테스트와 관련된 자동화 된 빌드 스크립트가 있습니다. 이 테스트가 실행되면 GWT 모듈이 다시 컴파일됩니다.이미 컴파일 된 모듈에서 GWTTestCase 실행

그러나 빌드 스크립트의 초기 단계에서 이미 모듈을 컴파일했습니다. 이것은 분명한 노력의 낭비입니다. 이미 컴파일 된 모듈에서 프로덕션 모드로 실행되도록 GWTTestCase를 테스트하는 방법을 아는 사람이 있습니까?

빌드 서버는 개발자에게 어떤 테스트가 실패했는지 알려주고 자신의 환경에서 디버깅 할 것을 기대하기 때문에 스택 트레이스 나 정보를 잃어도 상관 없습니다. 당신이

시험 인프라의 주요 클래스는 JUnitShell때문이다

답변

0

이 도움이 될 것입니다. 테스트 실행 방법의 측면을 제어하려면이 클래스에 인수를 전달해야합니다. 일반 명령 행 인수는 JUnit 러너로 직접 이동하기 때문에 인수는 명령 행을 통해 직접 전달할 수 없습니다. 대신 JUnitShell에 인수를 전달하기 위해 시스템 등록 정보 gwt.args를 정의하십시오. "- 자극의"JVM 인수로 JUnit을 호출시

예를 들어, 생산 모드에서 테스트를 (그들은 자바 스크립트로 컴파일 된 Afer 즉 즉, 테스트를 실행) = -Dgwt.args 선언 실행합니다. 지원되는 옵션의 전체 목록을 보려면 -Dgwt.args = "--help"(테스트를 실행하는 대신 도움말이 콘솔에 인쇄 됨)를 선언하십시오. 테스트를 프로덕션 모드로 실행

webAppCreator 도구를 사용하면 개발 모드 또는 프로덕션 모드에서 테스트를 시작할 수 있습니다. 두 모드에서 모두 테스트하십시오. 드물 긴하지만 Java와 JavaScript 간에는 차이점이있어 코드 배포시 다른 결과가 발생할 수 있습니다.

명령 줄에서 JUnit TestRunner을 실행하기로 결정한 경우, 단위 테스트를 프로덕션 모드로 실행하기 위해 몇 가지 추가 인수를 추가해야합니다. 기본적으로 개발 모드에서 실행되는 테스트는 JVM에서 일반적인 Java 바이트 코드로 실행됩니다. 이 기본 동작을 재정의하려면, 당신은 JUnitShell

-Dgwt.args = 인수를 전달해야 "- 찌르다"

+0

프로덕션 코드에서 실행하는 방법을 알고 있습니다. 문제는이 작업을 이미 완료했을 때 프로젝트를 다시 컴파일한다는 것입니다. 이미 컴파일 된 코드를 가리키고 싶습니다 ... –

0

글쎄, 나는 해결책을 찾았지만 그것은 elagant되지 않습니다. JUnitShell.maybeCompileForWebMode 메서드를 수정 한 경우 단위 테스트를 실행하는 동안 컴파일을 막기 위해 VM 인수 -Dcompile=false을 추가해야합니다. here에서 JUnitShell의 수정 된 버전을 얻을 수 있습니다.

관련 문제