Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ActivityInstrumentationTestCase2.getActivity()引发库的ClassCastException_Java_Android_Eclipse_Android Activity_Classcastexception - Fatal编程技术网

Java ActivityInstrumentationTestCase2.getActivity()引发库的ClassCastException

Java ActivityInstrumentationTestCase2.getActivity()引发库的ClassCastException,java,android,eclipse,android-activity,classcastexception,Java,Android,Eclipse,Android Activity,Classcastexception,我正在为项目A编写Android JUnit测试用例,项目A将项目B作为库(projectproperties/Android/library)。我的测试用例需要访问项目A和项目B中的资源(视图ID、字符串等)。如果我将项目A和/或项目B作为Android/库或Java构建路径/项目添加到测试项目中,则对ActivityInstrumentationTestCase2.getActivity()的任何调用都会引发ClassCastException 如果我不添加它们,调用将返回相应的活动,但我无

我正在为项目A编写Android JUnit测试用例,项目A将项目B作为库(projectproperties/Android/library)。我的测试用例需要访问项目A和项目B中的资源(视图ID、字符串等)。如果我将项目A和/或项目B作为Android/库或Java构建路径/项目添加到测试项目中,则对ActivityInstrumentationTestCase2.getActivity()的任何调用都会引发ClassCastException

如果我不添加它们,调用将返回相应的活动,但我无法访问被测试的两个项目的资源ID。我也不能访问项目B中的对象,这些对象是正确测试项目A所必需的。我不能在这里使用模拟对象


以前有人遇到过并解决过这个问题吗?

尝试使用这个方法访问库中的资源:(我认为它会起作用)

这将从测试项目中加载资源:(肯定有效)


我无法访问正在测试的两个项目的资源ID,使用logcat发布源代码将帮助其他人发现您的问题。我在NDA下工作,无法发布源代码或logcat数据(但愿我可以)。我知道这会让回答这个问题变得更难…谢谢!我能够使用您上面描述的方法获取资源。但我也需要访问库项目的公共类和接口。我编辑了这个问题来说明这一点。
getInstrumentation().getTargetContext().getResources()...;
getInstrumentation().getContext().getResources()...;