2015-01-07 3 views
7

Robolectric으로 내 Android 앱을 테스트하고 있지만 이상한 상황에 직면했습니다. 어떤 일이 발생하면 몇 가지 테스트를 실행하면 Robolectric로 실행 한 첫 번째 테스트에서 다른 테스트보다 훨씬 많은 시간이 걸립니다. 테스트 순서에 따라 다른 구성을 시도 했으므로 결과 자체가 구체적이지 않습니다. 그 결과 첫 번째 테스트가 항상 가장 느립니다.Robolectric이 오래 걸리는 이유는 무엇입니까?

로보트 립트 설치 시간입니까? 제공된 모든 정보가 유용합니다. 예를 들어

: Example of slow first test

답변

6

네,이 설정 시간. 불행히도 Robolectric에 대한 모든 정보를 수집 할 수있는 중심적인 장소는 없습니다. 당신이 관심이 있다면

시계 this presentation 당신은 페이지 28, 29, 30에 대한 자세한 설명을 찾을 수 있습니다, 35

Robolectric는 버전 2.0에 몇 가지 접근 방식을 변경했습니다. 중요한 변경 사항은 다음과 같습니다 ASM 사용으로 대체

  1. Javaassist 사용 - 속도 향상 시작 시간
  2. 그들은 그림자 클래스의 수를 줄이고 대신 ASOP 안드로이드 코드를 사용하려고 - 더 나은 테스트 신뢰성을

하는 경우 gradle을 사용한 다음 robolectric gradle plugin도보십시오. 추가 된 실행 테스트는 병렬 및 기타 튜닝 옵션으로 수행됩니다. 병렬로 실행되는 테스트는 많은 양의 테스트 (수백 이상)에서만 유용합니다.

+0

아하! 고맙습니다 ;) –

관련 문제