2012-03-11 4 views
1

그래서 저는 junit을 점점 더 많이 사용하기 시작했고 점점 더 많은 테스트 중심 개발을 시작했습니다.junit을 사용하여 사용자 인터페이스를 테스트하는 합리적인 방법입니까?

그러나 사용자 인터페이스를 테스트 할 때 문제가 생깁니다. 제 첫 번째 본능은 junit이 테스트를 통해 작업하는 인간을 모방 한 마우스와 키보드를 감추는 로봇을 만드는 것입니다. 우아하고 변하지 않는 탄력성. 나는이 모든 잘못에 접근하고 있는가? 이 경우 가장 좋은 방법은 무엇입니까?

내가 찾고 있어요 특정 경우

은 SWT 기반이지만, 어떤 일반적인 개요는 :

+0

당신은 http://stackoverflow.com/questions/215458/how-can-i-unit-test-a-gui를 확인 했습니까 – Jayan

답변

1

그것은 당신이 테스트하고 사용자 인터페이스의 종류를 따라 큰 수 있지만 웹 테스트를 위해, Selenium 볼 것 브라우저를 자동화하고 사이트 등을 탐색 할 수 있습니다.

스윙 테스트의 경우 스윙 응용 프로그램에 대해 동일한 기능을 수행하는 FEST을 확인하십시오.

실제 인터페이스 테스트의 경우, 이는 종종 Apache HttpClient을 사용하여 웹 페이지를 직접 호출하고 결과를 직접 확인합니다 (예를 들어 페이지에 오류가 없는지 확인). 이것은 종종 설정하기 쉽고 테스트로서 취약합니다.

+0

늦은 응답에 대한 사과 - Selenium is pretty :) – Joe

2

uispec4j을 제안하려고했습니다. 분명히 SWT를 지원하지 않습니다.

거의 모든 '로봇'기반 테스트는 취약합니다. GUI가 변경되면 테스트를 수정하는 데 많은 시간이 소요될 수 있습니다. 프레임 워크를 작성하려는 경우 jemmy부터 시작할 수 있습니다. 이것은 훌륭한 모델 중심의 GUI 테스트 기능을 제공합니다. Jemmy는 junit 테스트에서 직접 사용할 수 없습니다.

테스팅을 위해 UI를 리펙토링하면 좋은 디자인이됩니다. 당신이 그런 아이디어를 열어 보면 Model View Presenter pattern

1

그랬듯이 (그것은 일반적으로, 왜 내가 다른 대답을 받아들이는지에 대한 이유가 아니라는 점에서) swt의 - 내가 정말로보고있는 것 for http://www.eclipse.org/swtbot/

관련 문제