ActivityInstrumentationTestCase2.getActivity()为库抛出ClassCastException

时间:2012-03-29 16:10:22

标签: java android eclipse android-activity classcastexception

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

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

有没有人遇到并解决过这个问题?

1 个答案:

答案 0 :(得分:0)

尝试此操作来访问库中的资源:(我认为它会起作用)

getInstrumentation().getTargetContext().getResources()...;

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

getInstrumentation().getContext().getResources()...;