我正在尝试运行Roboelectric Unit测试以测试预期的活动是否开始,但是因为我收到以下错误:
java.lang.NoClassDefFoundError:无法初始化类 android.os.AsyncTask
我正在寻找解决方案但到目前为止没有运气,之前是否有人遇到过此问题。
查找我的测试类
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, manifest = "AndroidManifest.xml", minSdk = 21, maxSdk = 21, application = MyApplication.class)
@PowerMockIgnore({"org.mockito.*", "org.robolectric.*", "android.*"})
public class PushManagerTest {
@Test
public void shouldLaunchNewActivity() throws Exception {
Activity testActivity = Robolectric.setupActivity(TestActivity.class);
Intent expectedIntent = new Intent(testActivity, NewActivity.class);
Intent actualIntent = ShadowApplication.getInstance().getNextStartedActivity();
assertEquals(expectedIntent.getComponent(), actualIntent.getComponent());
}
}
答案 0 :(得分:1)
我终于解决了它,不知道它是正确的方式还是不正确但测试按预期工作
我必须在我的Application类的onCreate
中添加以下行
try{
Class.forName("android.os.AsyncTask");
}catch(Throwable ignore) {
// ignored
}
希望它有助于某人