在AndroidX迁移后,AndroidTestCase、AndroidJUnit4和InstrumentationRegistry.getTargetContext已经过时。下面是解决方法的示例代码:
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
public class MyUnitTest {
@Test
public void someUnitTest() {
// 使用InstrumentationRegistry来获取Context
Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
// 进行测试...
}
}
import androidx.test.runner.AndroidJUnitRunner;
import androidx.test.platform.app.InstrumentationRegistry;
public class MyTestRunner extends AndroidJUnitRunner {
@Override
public void onCreate(Bundle arguments) {
super.onCreate(arguments);
// 使用InstrumentationRegistry来获取Context
Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
// 进行测试...
}
}
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
public class MyUnitTest {
@Test
public void someUnitTest() {
// 使用InstrumentationRegistry来获取Context
Context context = InstrumentationRegistry.getInstrumentation().getTargetContext();
// 进行测试...
}
}
请注意,为了使用AndroidX,你需要在build.gradle文件中将相关依赖项迁移到AndroidX。如果你的项目还没有迁移到AndroidX,请使用Android Studio的Refactor功能来进行迁移。