문제

는 가장 좋은 방법은 무엇입 테스트 GWT 코드?

GWTTestCase 호스 모드가 너무 느리고 조롱하는 프레임워크를 작동합니다.

현재 우리는 다음과 같은 MVC 으로 제안서 http://robvanmaris.jteam.nl/2008/03/09/test-driven-development-for-gwt-ui-code/ 사용 GWTMockUtilities 해체()및 복원()하 모니다.와 먹을 생각을 테스트하는 방법에서 보기 GWT MVC.더 좋은 방법이 있을 테스트하는 GWT 코드?

도움이 되었습니까?

해결책

GWT 위젯을 분리하여 테스트하려는 경우 옵션이 많지 않습니다. gwttestcase를 사용하여 위젯을 인스턴스화하고 API를 통해 테스트 할 수 있습니다. Google은 GWT 위젯 자체를 위해하는 일입니다. Radiobuttontest의 출처

그러나 이벤트 발사 메커니즘은 GWTTestCases에서 작동하지 않으므로 프로그래밍 방식으로 버튼을 클릭하고 일부 onclick () 콜백 메소드가 리스너에서 호출 될 것으로 기대합니다. 또한 기본 DOM에 도달하는 것은 불가능하지는 않지만 어렵 기 때문에 저수준 HTML- 방출 코드를 테스트하는 데 가장 적합한 도구가 아닐 수도 있습니다.

모든 올바른 단계를 따르고있는 것 같습니다. Rob의 기사는 MVP (Model-View-Presenter) 디자인 패턴을 사용하여 테스트 가능한 코드를 작성하는 방법에 대한 훌륭한 설명을 제공합니다. 뷰 레이어에서 더 많은 논리를 유지할수록 더 좋습니다. 불가능한 경우 셀레늄과 같은 도구를 사용하여 동적 UI 동작에 대한 집중된 테스트를 만듭니다.

위젯에 최소한의 코드가있는 비슷한 전략을 따랐습니다. 몇 가지 경우에 나는 그리드 클래스를 감싸는 코드를 작성했기 때문에 GWTTestcase에 내 구성 요소를 인스턴스화하고 그리드를 전달하고 구성 요소에 몇 가지 방법을 호출하고 그리드의 상태를 확인할 수있었습니다. 나는 당신이 읽을 수있는 Test-First GWT에 대한 더 나은 소프트웨어를위한 기사를 썼습니다. 내 블로그에서.

UI가 아닌 GWT 클래스 (예 : URL 인코딩 또는 사전)를 사용하는 코드를 테스트하려는 경우 gwttestcase를 사용하거나 코드가 너무 간단 할 때까지 유사한 랩핑 전략을 따라야합니다. 그런 다음 JB Rainsberger가 말했듯이 "프레임 워크를 테스트하지 마십시오!"라고 말했듯이 Selenium과 같은 도구 또는 타겟팅 된 GWTTestCases와 함께 통합 테스트를 사용하십시오.

다른 팁

어리석은 사람으로서, 당신은 시도해야합니다 GWT 테스트-유틸리, 독립형 JVM에서 GWT 클라이언트 코드를 실행하고 원하는 모든 기능 (구성 요소, RPC 서비스 등)을 조롱하는 기능을 제공합니다.

어떤 나를 위해 일했:

사용은 고전적인 모델/보기/컨트롤러(예:더 비즈니스에서 논리 볼 또는 컨트롤러컨트롤러 번역하기만 하면 이벤트를 보려면으로 메소드 호출에 모델).

Decouple 모델 컨트롤러 코드에서 GWT 보기 위젯과 다른 클래스에 의존하는 GWT 및 인스턴스화할 수 없습에서 기존의 일반 JVM.를 테스트할 수 있습으로 그들을 좋은 오래 된 JUnit.

쓰 end-to-end 테스트를 테스트하는 시스템을 통한 GUI 확인하는 모델은 컨트롤러는 매망습니다.우리가 그것을 발견 빠르게 배포하고 응용 프로그램을 시작하고 다음과 상호 작용을 통해 브라우저에서 제어 JUnit 와 WebDriver 보를 사용하 GWTTestCase!

사용 JMock 을 테스트하는 비동기 호출을 다음과 같다: http://www.jmock.org/gwt.html.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top