Google Espresso 또는 Robotium [닫기]
자동 UI 테스트 도구를 사용하는데 Robotium과 Google Espresso를 사용하는 것이 혼동됩니다.
이 둘의 주요 차이점은 무엇입니까? 한 기능에는없는 기능이 있습니까?
전체 공개 : 저는 에스프레소의 저자 중 한 사람입니다.
Espresso와 Robotium은 모두 계측 기반 프레임 워크입니다. 즉, Android Instrumentation 을 사용 하여 테스트중인 활동을 검사하고 상호 작용합니다.
Google은 Robotium을 사용하여 시작했습니다. 재고 계측보다 편리하게입니다 (Robotium 개발자들에게 도움이되었습니다). 그러나 개발자가 신뢰할 수있는 테스트를 쉽게 작성할 수있는 -frame 워크가 필요하지 않았습니다 .
Robotium보다 Espresso의 주요 발전 :
동기화. 기본적으로 인스 트루먼 테이션 테스트는 UI 조작 (UI 간단한 처리됨)과 다른 방식에서 실행됩니다. 테스트 작업을 UI 업데이트와 동기화하지 테스트가 약해지기 부담합니다. 즉, 타이밍 문제로 인해 무작위로 실패합니다. 대부분의 테스트 작성자는 사실을 무시하고 일부는 휴면 / 재시도 코드를 추가하며 더 복잡한 코드 안전 코드를 구현하는 경우 더 적습니다. 이들 중 어느 것이 건이지. Espresso는 테스트 작업 및 어설 션을 테스트중인 응용 프로그램의 UI와 완벽하게 동기화하여이를 관리합니다. Robotium은 필요하지 않고 테스트가 필요하지 않습니다.
API. Espresso는 작고 잘 정의되고 예측 가능한 API가 사용자 정의가 가능합니다. 표준 hamcrest matcher를 사용하여 UI 요소를 찾는 방법을 프레임 워크에 지시 한 후 대상 요소에서 조치를 수행하거나 어설 션을 확인 지시합니다. 테스트 작성자가 30 가지 이상의 클릭 방법 중에서 선택할 수있는 Robotium의 API와 수 있습니다. 또한 Robotium은 getCurrentActivity (현재는 무엇을 의미하는 작업 참조?) 및 getView와 같은 위험한 메소드를 제공합니다.
실패 정보를 지 택합니다. Espresso는 장애 발생시 노력합니다 정보를 제공합니다. 또한 고유 한 실패 처리기를 사용하여 Espresso가 실패를 처리하는 방식을 사용자 수 있습니다. 한동안 시도 가능성 이전 버전의 Robotium은 일관성없는 실패 처리로 어려움을 겪습니다. (예 : ClickOnView 메소드가 SecurityExceptions).
이전 답변과 달리 Espresso는 많은 수의 사용자가있는 API 버전에서 지원됩니다 ( http://developer.android.com/about/dashboards/index.html 참조 ). 이전 버전의 일부에서는 작동하지만 테스트는 리소스가 있습니다. 테스트에 대해 말하기 ... Espresso는 다양한 적용 범위의 테스트 스위트 (95 % 이상의 적용 범위)와 Google에서 개발 한 대부분의 Android 애플리케이션으로 테스트합니다.
Espresso는 Robotium보다 훨씬 빠르지 만 일부 SDK 버전에서만 작동합니다.
따라서 모든 장치에서 작동하는 테스트를 실행합니다. 틀림 없다면 에스프레소를 선택하고 여전히 베타 테스터가 될 것임을 잊지면.
참고 URL : https://stackoverflow.com/questions/20046021/google-espresso-or-robotium
'IT' 카테고리의 다른 글
crontab 작업을 생성, 편집 및 삭제하기 위해 PHP를 사용합니까? (0) | 2020.07.24 |
---|---|
XSL에서 'call-template'과 'apply-templates'의 차이점은 무엇입니까? (0) | 2020.07.24 |
Rust 프로그램이화물에서 메타 데이터에 어떻게 접근 할 수 있습니까? (0) | 2020.07.24 |
정수 (0)를 잡는 방법? (0) | 2020.07.24 |
유효한 XML 파일에 XML 선언이 필요 받습니까? (0) | 2020.07.24 |