2015-04-25 5 views
0

Я новичок в тестировании Android и пытаюсь написать модульные тесты (работающие на локальном jvm) с использованием mockito в Android Studio.Тестирование Android-приложения с использованием greendao с Mockito

Моя установка IDE (скрипты градиента) выполнена до сих пор.

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 

    // Unit testing dependencies. 
    testCompile 'junit:junit:4.12' 
    testCompile 'org.mockito:mockito-core:1.10.19' 
} 

В моем приложении я использую greendao как ОРМ, но не имею абстракций этого слоя еще (запланированный на будущий). Когда я пытаюсь проверить части моего кода приложения, которые используют классы баз данных, связанные с (как SqliteOpenHelper, SqliteDatabase для создания базы данных, SQLiteStatement для составления отчетности и т.д.) тесты выходов, за исключением, например, с SQLiteOpenHelper поругает не.

Можно ли вообще написать единичные тесты в этом сценарии, издеваясь над базой данных (не вкладывая сейчас время для абстрагирования слоя базы данных)?

ответ

0

Проблема заключалась в том, чтобы получить правильное значение Context для инициализации уровня базы данных. Используя robolectric, вы можете использовать RuntimeEnvironment.application для получения объекта Context в тестовой среде, поэтому инициализация уровня базы данных с помощью модульных тестов выполняется на локальной JVM без какого-либо устройства или эмулятора.

+0

Я до сих пор не уверен, что вы подразумеваете под ключевым словом: «RuntimeEnvironment.application» – vodkhang

+0

извините за непонятный ответ, я отредактировал свое решение. – Dokumans

Смежные вопросы