希望你能帮助我...
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