Intereting Posts
Ошибки загрузки файла расширения. Не удалось найти подтверждение / ресурс файла AAC Добавление сервисов Google Play в проект Eclipse Как получить ссылку на продукт в приложении под приложениями, указанными для учетной записи издателя? Шаблон активности приложения Android Studio для Android по умолчанию не показывает значок гамбургера, только значок стрелки Как изменить стиль и цвет вкладки с помощью библиотеки AppCompat Путь Android APK не указан для модуля Преобразование битмапа в jpeg в android Android – не удается создать обработчик внутри потока, который не вызвал Looper.prepare () JSON Error "java.lang.IllegalStateException: ожидается BEGIN_OBJECT, но был STRING в строке 1 столбец 1 путь $" Шифровать базу данных SQLite без увеличения размера приложения? Цвет фона Как создать класс активности в другой класс активности? Mpchartlib в Android удаляет фрагмент текста из piechart Как закрыть приложение в Android Studio-приложение, работающее на отдельном устройстве Android App Crashes Неожиданно во время работы?

Контекст Android в тестировании без активности

Я собираюсь протестировать мой класс OcRequestQueue.java , который я хочу, чтобы он продолжал всю жизнь приложения RequestQueue . Проблема в том, что для него нужен context приложения, который выходит за рамки класса, поскольку я хочу реализовать отдельные слои представления и данных, а OcRequestQueue.java – во втором. Уровень представления еще не реализован, поэтому я хочу выполнить единичный тест по тому, что я сделал, поэтому я хотел получить context из InstrumentationTestCase , но все, что я получаю, это !! JUnit version 3.8 or later expected !! JUnit version 3.8 or later expected . Как я могу выполнять модульные тесты для классов, которые не распространяют Activity ?

com.data.OcRequestQueue.java

 package com.data; import android.content.Context; import com.android.volley.Cache; import com.android.volley.Network; import com.android.volley.RequestQueue; import com.android.volley.toolbox.BasicNetwork; import com.android.volley.toolbox.DiskBasedCache; import com.android.volley.toolbox.HurlStack; /** * Created by mateusz on 03.01.15. */ public class OcRequestQueue { static RequestQueue requestQueue; static Context mContext; static Cache cache; static Network network; private static OcRequestQueue ourInstance = new OcRequestQueue(); public static OcRequestQueue getInstance(Context context) { if (ourInstance == null) { mContext = context; requestQueue = getRequestQueue(mContext); } return ourInstance; } private static RequestQueue getRequestQueue(Context context) { cache = new DiskBasedCache(context.getCacheDir(), 1024 * 1024); network = new BasicNetwork(new HurlStack()); return new RequestQueue(cache,network); } public OcRequestQueue() { } } 

com.data.test.OcRequestQueueTest.java

 package com.data.test; import android.content.Context; import android.test.ActivityInstrumentationTestCase2; import android.test.AndroidTestCase; import android.test.InstrumentationTestCase; import com.data.OcRequestQueue; public class OcRequestQueueTest extends InstrumentationTestCase { Context context; @Override public void setUp() throws Exception { context = getInstrumentation().getContext(); } public void testGetInstance() throws Exception { assertEquals(new OcRequestQueue(), OcRequestQueue.getInstance(context)); } } 

bulid.gardle

 apply plugin: 'com.android.library' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 15 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } repositories { mavenCentral() } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile 'junit:junit:4.+' compile 'com.google.inject:guice:4.0-beta5' def domainLayer = project(':domain') //project dependencies compile domainLayer }