gpt4 book ai didi

android - 在 android 测试中从资源转换为位图时遇到问题

转载 作者:行者123 更新时间:2023-11-29 00:16:36 25 4
gpt4 key购买 nike

我正在尝试将资源图像转换为位图,以便在 android 的 Instrumentation 测试中对其进行测试。最初我将其作为扩展测试用例的常规测试。我的问题是这个

 protected void setUp()
{
testbmap=BitmapFactory.decodeResource(getInstrumentation().
getContext().getResources(), R.drawable.ic_launcher);
}

然后我测试位图不为空但测试失败。

public void testnotnull()
{
assertNotNull(testbmap);
}

所以我在这里做错了什么我认为这可能与 decoderecource() 中的第一个参数有关,也许我没有指向正确的资源?我也尝试了 getApplicationContext.getResources() 方法,但我不太确定这个方法。谁能帮帮我?

最佳答案

我解决了这个问题,将 #getContext() 更改为 #getTargetContext() ,后者将返回检测包的上下文,后者将返回目标应用程序的上下文。

Return a Context for the target application being instrumented. Note that this is often different than the Context of the instrumentation code, since the instrumentation code often lives is a different package than that of the application it is running against. See getContext to retrieve a Context for the instrumentation code.

Kotlin 方法:

@Test
fun bitmapIsNotNull() {
val context = InstrumentationRegistry.getInstrumentation().targetContext
val bitmap = BitmapFactory.decodeResource(context.resources, R.raw.any_image)

Assert.assertNotNull(bitmap)
}

关于android - 在 android 测试中从资源转换为位图时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26305380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com