Я новичок в модульном тестировании Android. Я хотел написать модульный тест для следующего кода. Я не могу найти способ издеваться над изображением для использования в тесте. Пожалуйста, помогите.
fun getLatestPictureTakenFromCamera(): String? {
var cursor: Cursor? = null
var latestCameraImgPath: String? = null
try {
val context: Context = LowesApplication.instance()
val projection = arrayOf(MediaStore.Images.ImageColumns._ID,
MediaStore.Images.ImageColumns.DATA,
MediaStore.Images.ImageColumns.DATE_TAKEN,
MediaStore.Images.ImageColumns.MIME_TYPE)
val selectionCriteria = "${MediaStore.Images.ImageColumns.MIME_TYPE} = 'image/jpeg'"
cursor = context.contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, selectionCriteria, null, MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC")
cursor?.let {
if(cursor.moveToFirst()) {
val columnIndex: Int = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA)
latestCameraImgPath = cursor.getString(columnIndex)
val mimeType = cursor.getString(cursor.getColumnIndex(MediaStore.Images.ImageColumns.MIME_TYPE))
Log.d(TAG, "Latest Picture Taken From Camera - mimeType: ${mimeType}")
}
}
Log.d(TAG, "Latest Picture Taken From Camera - Absolute Path: ${latestCameraImgPath}")
} catch (e: Exception) {
} finally {
cursor?.let { cursor -> cursor.close() }
}
return latestCameraImgPath
}