Android 领域-在测试类@Before方法上创建活动/片段内的对象时,无法查询这些对象

Android 领域-在测试类@Before方法上创建活动/片段内的对象时,无法查询这些对象,android,junit,realm,Android,Junit,Realm,当尝试在JUnity4测试用例的@Before方法中创建模拟数据时,我无法在正在测试的活动中使用域查询创建的数据。问题是JUnity测试在@方法运行之前启动活动 这意味着在活动启动时,在测试用例上创建的数据不可用 解决方案: 告诉测试运行者在测试运行之前不要启动活动 @规则 公共活动测试规则活动规则= 新的ActivityTestRule(MainActivity.class,false,false);//注意这些谎言 创建所需数据后手动启动活动 @之前 在()之前公开无效{ //此配置必须与

当尝试在JUnity4测试用例的
@Before
方法中创建模拟数据时,我无法在正在测试的活动中使用域查询创建的数据。

问题是JUnity测试在
@方法运行之前启动活动

这意味着在活动启动时,在测试用例上创建的数据不可用

解决方案:

  • 告诉测试运行者在测试运行之前不要启动活动

    @规则
    公共活动测试规则活动规则=
    新的ActivityTestRule(MainActivity.class,false,false);//注意这些谎言
    
  • 创建所需数据后手动启动活动

    @之前
    在()之前公开无效{
    //此配置必须与您的应用程序在测试中使用的配置相同。
    最终RealmConfiguration配置=新的RealmConfiguration.Builder(InstrumentationRegistry.getTargetContext())
    .name(TaskerApplication.REALM\u文件)
    .DeleteRealMifMigrationRequired()
    .schemaversation(0)
    .build();
    realm=realm.getInstance(配置);
    realm.beginTransaction();
    createdObject=realm.copyToRealm(新的AnyRealmObject());
    realm.commitTransaction();
    //手动启动活动
    activityRule.launchActivity(新意图(Intent.ACTION_MAIN));
    //从“活动”中查询时,对象将可用。
    }