【发布时间】:2019-11-14 09:15:34
【问题描述】:
我想为我的 DiskLruCache 类编写单元测试,它实际上检查位图在缓存中是否正确写入,我们可以通过获取位图来验证这一点。我在测试类中使用以下代码创建位图,但显示错误。
var bitmap = Bitmap.createBitmap(400, 400, Bitmap.Config.ARGB_8888)
显示IllegalStateException bitmap can not be null
然后把代码改成:
var bitmap = Bitmap.createBitmap(400, 400, Bitmap.Config.ARGB_8888).copy(Bitmap.Config.ARGB_8888, true)
它显示NullPointerException
知道如何在测试类中创建位图以进行单元测试吗?
【问题讨论】:
-
你把你的测试文件放在哪里?
/src/test/java/?如果是这种情况,那么测试会在没有任何 Android 运行时的情况下执行,这意味着所有使用的 Android 依赖项都将返回它们的默认值(这对于测试来说非常不稳定)。你需要把你的测试放在src/test/androidTest,看看这里的测试文档:developer.android.com/studio/test#test_types_and_location -
它在 src/test/kotlin/ 目录下。是否可以通过保留在此目录中来做到这一点?
-
不,您必须切换到
src/androidTest/kotlin并使其成为仪器测试,这是一个示例:developer.android.com/training/testing/unit-testing/…
标签: android unit-testing bitmap