希望你能幫助我...
TL:博士
我怎麼能寫JUnit測試將不使用類IsolatedContext和MockContentResolver ?
我想影響REAL內容提供者而不是模擬數據庫。
通用
我必須爲工作中的特殊ContentProvider編寫JUnit測試。 此內容提供商連接到一些不同的硬件並設置一些值。
我必須檢查硬件值和內容提供者數據庫的值。
建設
- >的ContentProvider - >硬件界面 - >硬件 - > HardwareInterface->的ContentProvider
代碼Android內容提供商測試的真正內容提供商
public class DataLayerTests extends ProviderTestCase2<DataLayer> {
private static final String TAG = DataLayerTests.class.getSimpleName();
MockContentResolver mMockResolver;
public DataLayerTests() {
super(DataLayer.class, Constants.DATA_LAYER_AUTHORITY);
}
@Override
protected void setUp() throws Exception {
super.setUp();
Log.d(TAG, "setUp: ");
mMockResolver = getMockContentResolver();
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
Log.d(TAG, "tearDown:");
}
public void testActiveUserInsert__inserts_a_valid_record() {
Uri uri = mMockResolver.insert(ActiveUserContract.CONTENT_URI, getFullActiveUserContentValues());
assertEquals(1L, ContentUris.parseId(uri));
}}
真實的數據庫應該不會受到影響,以及實應使用ContentRescolver。 我怎麼能這樣?
感謝您的回覆,我 已經做了一個按鈕,一個真正的應用程序。 該應用程序將影響真實的數據庫。 下次我會檢查Robolectric。 – MatzunaTata