小编Zee*_*Zee的帖子

领域单元测试

我正在尝试对Realm及其交互进行单元测试,但进展并不顺利。我已经包含了所有依赖关系,并不断出现模糊的失败,下面是Helper该类的代码,它是包装器Realm

问题

  1. 这是测试Realm的正确方法吗?

  2. 我如何测试应用程序沙箱中的数据,只能通过UI /工具测试来测试这些数据?

  3. 我现在(下)并且在得到“ Powermock零参数构造函数不存在”之前收到错误

GitHub回购

以下是我用于单元测试的当前代码:

@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21, application = CustomApplicationTest.class)
@PowerMockIgnore({"org.mockito.*", "org.robolectric.*", "android.*", "javax.crypto.","java.security.*"})
@SuppressStaticInitializationFor("io.realm.internal.Util")
@PrepareForTest({Realm.class, RealmConfiguration.class,
    RealmQuery.class, RealmResults.class, RealmCore.class, RealmLog.class})
public class DatabaseHelperTest {

@Rule
public PowerMockRule rule = new PowerMockRule();

private DatabaseHelper dB;

private Realm realmMock;


@Before
public void setUp() throws Exception {
    MockitoAnnotations.initMocks(this);

    mockStatic(Realm.class);
    mockStatic(RealmConfiguration.class);
    mockStatic(RealmCore.class);
    mock(DatabaseHelper.class);

    final Realm mockRealm = PowerMockito.mock(Realm.class);
    realmMock = mockRealm;

    final RealmConfiguration mockRealmConfig = PowerMockito.mock(RealmConfiguration.class);

    doNothing().when(RealmCore.class);
    RealmCore.loadLibrary(any(Context.class));

    whenNew(RealmConfiguration.class).withAnyArguments().thenReturn(mockRealmConfig); …
Run Code Online (Sandbox Code Playgroud)

android unit-testing realm mockito powermockito

5
推荐指数
1
解决办法
5030
查看次数

标签 统计

android ×1

mockito ×1

powermockito ×1

realm ×1

unit-testing ×1