我正在尝试创建一个测试用例来测试一个以AssetManager作为参数的静态方法。但是,我无法获得AssetManager类,因为每个在线博客都告诉我使用已经在sdk版本24中弃用的类。我甚至尝试使用Mockito类来模拟我的主要活动(不确定那是怎么回事打算使用)并返回一个null AssetsManager。
如何在单元测试中检索我的项目的AssetsManager?
答案 0 :(得分:0)
使用AssetManager
的测试应放在androidTests
中(如评论中所述)。然后你可以做这样的事情
@RunWith(AndroidJUnit4.class)
public class AssetManagerTests {
private Instrumentation mInstrumentation;
@Before
public void setUp() throws Exception {
mInstrumentation = InstrumentationRegistry.getInstrumentation();
}
@Test
public final void testAssets() throws IOException {
final AssetManager assetManager = mInstrumentation.getTargetContext().getAssets();
assetManager.open("someappfile");
}
}
在这种情况下,测试是从assets
打开一个文件,但你可以做任何你想做的事情。
请注意,文件名为someappfile
,以强调测试正在访问应用资产而非测试资产。