Как написать тестовый модуль Android для извлечения изображения с помощью распознавателя контента? - PullRequest
0 голосов
/ 15 июня 2019

Я новичок в модульном тестировании 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
}
...