2014-03-02 2 views
0

Gradle을 빌드 도구로 사용하여 Android Studio로 Android 앱을 개발 중입니다. Android Studio 및 Robolectric과의 통합은 android-unit-test gradle plugin으로 완료됩니다.Android 환경에서 Roboelectric으로 ORMLite를 테스트하려면 어떻게해야합니까?

ORMLite (최신 버전)도 사용하고 있습니다.

Roboclectric 2.3-SNAPSHOT으로 ORMLite DAO를 테스트 할 수있는 방법이 있습니까?

일부 버전의 그림자는 삭제되었으며 SQLite 버전이 포함되었습니다 (Robolectric dropping SQLite shadows commit 참조). Robolectric repo의 단위 테스트 (예 : this)를 살펴 봤지만 ORMLite와의 상호 작용을 설정하는 방법에 대한 정보가 필요합니다.

답변

1

다음은 컴파일 및 실행이 가능한 작업 예제입니다.

public DatabaseHelper getHelper(Context context) { 
    return OpenHelperManager.getHelper(context, DatabaseHelper.class); 
} 
(DatabaseHelperManager 클래스) 참고로

@Config(emulateSdk = 18) // because Robolectric does not yet support API Level 19 
@RunWith(RobolectricTestRunner.class) 
public class DatabaseHelperManagerTest extends BaseTest { 

    private Context context; 

    public void initContext() { 
     context = Robolectric.application.getApplicationContext(); 
     assertNotNull(context); 
    } 

    @BeforeClass 
    public static void setup(){ 
     // To redirect Robolectric to stdout 
     System.setProperty("robolectric.logging", "stdout"); 
    } 

    @Test 
    public void getDatabaseHelperTest(){ 
     initContext(); 

     DatabaseHelperManager databaseHelperManager = new DatabaseHelperManager(); 
     DatabaseHelper databaseHelper = databaseHelperManager.getHelper(context); 
     assertNotNull(databaseHelper); 

     Log.d(DatabaseHelperManagerTest.class.getName(), "Database Path:" + context.getDatabasePath(DatabaseHelper.DATABASE_NAME)); 
    } 
}