Java 使用ActivityScenarioRule-AndroidStudio启动测试
我正在尝试设置一些基本的仪器化测试,我正在物理设备上使用AndroidStudio运行这些测试 测试相当简单:Java 使用ActivityScenarioRule-AndroidStudio启动测试,java,android,android-activity,junit4,android-testing,Java,Android,Android Activity,Junit4,Android Testing,我正在尝试设置一些基本的仪器化测试,我正在物理设备上使用AndroidStudio运行这些测试 测试相当简单: @RunWith(AndroidJUnit4.class) public class MyActivityTest { private ActivityScenarioRule<MyActivity> scenarioRule = new ActivityScenarioRule<>(MyActivity.class); @Test
@RunWith(AndroidJUnit4.class)
public class MyActivityTest {
private ActivityScenarioRule<MyActivity> scenarioRule = new ActivityScenarioRule<>(MyActivity.class);
@Test
public void onFoo() {
ActivityScenario scenario = scenarioRule.getScenario();
}
}
根据,如果在没有测试运行时使用getScenario()
,则会引发NullPointerException。我正在使用AndroidStudio UI运行这些测试,测试将显示在“测试运行”窗口中,因此它引发该异常对我来说没有意义
我是否需要添加
before()
方法来设置场景规则?有什么我错过的场景吗?或者这可能是由依赖项或MyActivity
中的某些内容引起的?我缺少注释。这是一个有效的版本:
@RunWith(AndroidJUnit4.class)
@SmallTest
public class MyActivityTest {
@Rule
public ActivityScenarioRule<MyActivity> activityRule = new ActivityScenarioRule<>(MyActivity.class);
@Test
public void foo() {
ActivityScenarioRule<MyActivity> scenario = activityRule.getScenario()
}
}
@RunWith(AndroidJUnit4.class)
@小测验
公共类MyActivityTest{
@统治
public ActivityScenarioRule activityRule=新的ActivityScenarioRule(MyActivity.class);
@试验
公共图书馆{
ActivityScenarioRule方案=activityRule.getScenario()
}
}
@RunWith(AndroidJUnit4.class)
@SmallTest
public class MyActivityTest {
@Rule
public ActivityScenarioRule<MyActivity> activityRule = new ActivityScenarioRule<>(MyActivity.class);
@Test
public void foo() {
ActivityScenarioRule<MyActivity> scenario = activityRule.getScenario()
}
}