我正在为项目A编写Android JUnit测试用例,其中项目B作为库(项目属性/ Android /库)。我的测试用例需要从项目A和项目B访问资源(视图ID,字符串等)。如果我将项目A和/或项目B添加为Android /库或Java构建路径/项目到我的测试项目,对ActivityInstrumentationTestCase2.getActivity()的任何调用都会抛出ClassCastException。
如果我不添加它们,则调用返回相应的Activity,但我无法访问被测试的两个项目的资源ID。我也无法访问项目B中的对象,这些对象是正确测试项目A所必需的。我不能在这里使用模拟对象。
有没有人遇到并解决过这个问题?
答案 0 :(得分:0)
尝试此操作来访问库中的资源:(我认为它会起作用)
getInstrumentation().getTargetContext().getResources()...;
这将从测试项目中加载资源:(绝对有效)
getInstrumentation().getContext().getResources()...;