在进行Activity测试时,经常会遇到ClassCastException问题。这是因为在测试过程中无法从Activity中获取正确的上下文。为了解决这个问题,可以使用InstrumentationRegistry.getInstrumentation().getTargetContext()代替getActivity()方法获取上下文。通过使用TargetContext,我们可以直接获取应用程序的上下文,而不必通过Activity获取上下文。
示例代码:
@RunWith(AndroidJUnit4.class) public class MyEspressoTest {
@Rule
public ActivityTestRule mActivityTestRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void testSomething() {
Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
// ...
}
}