Тестирование настраиваемого ContentProvider в Android

Я написал своего поставщика контента, который должен обеспечивать доступ к 2 таблицам в базе данных SqlLite. Теперь я хотел бы написать несколько тестовых примеров для этого, но я никогда этого не делал. Прочитав раздел руководства разработчика, должен сказать, что мне не удалось ничего протестировать.

Вот мой код на данный момент. Это единственный класс в тестовом проекте, который соответствует моему основному проекту. Когда я выполняю его в Eclipse, эмулятор запускается правильно, пакеты устанавливаются, но тест не запускается:

Тестовый запуск завершился неудачно: Тестовый запуск не завершен. Это единственный класс в тестовом проекте, который соответствует моему основному проекту. Когда я выполняю его в Eclipse, эмулятор запускается правильно, пакеты устанавливаются, но тест не запускается:

Тестовый запуск завершился неудачно: Тестовый запуск не завершен. Это единственный класс в тестовом проекте, который соответствует моему основному проекту. Когда я выполняю его в Eclipse, эмулятор запускается правильно, пакеты устанавливаются, но тест не запускается:

Тестовый запуск завершился неудачно: Тестовый запуск не завершен. Ожидается 1 тест, получено 0

Вот тестовый класс:

public class ArticleProviderTest extends ProviderTestCase2<ArticleProvider> {

    static final Uri[] validUris = new Uri[] { Articles.CONTENT_URI, 
       Pictures.CONTENT_URI,
       Pictures.getContentUriForArticleId(1) };

    public ArticleProviderTest(Class<ArticleProvider> providerClass, String providerAuthority) {
        super(providerClass, providerAuthority);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
    }

    public void testQuery() {
        ContentProvider provider = getProvider();    
        for (Uri uri : validUris) {
            Cursor cursor = provider.query(uri, null, null, null, null);
            assertNotNull(cursor);
        }    
    }
}

И файл манифеста, если он помогает:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="fr.marvinlabs.xxxx"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7" />
    <instrumentation android:targetPackage="fr.marvinlabs.xxxx" android:name="android.test.InstrumentationTestRunner" />
    <application android:icon="@drawable/icon" android:label="@string/app_name">
    <uses-library android:name="android.test.runner" />
    </application>
</manifest>

Когда я запускаю в конфигурации отладки, точки останова в конструкторе и в setUp не запускаются . ?!

Я тоже не нашел много информации в сети. Может ли кто-нибудь помочь мне понять, как должно быть настроено тестирование (в основном создать файл тестовой базы данных, заполнить его некоторыми данными, запросить его ...)?

7
задан Vincent Mimoun-Prat 30 April 2011 в 15:08
поделиться