Как начать намерение Intent.ACTION_PICK, используя намерение Express -intent в Android интеграционных тестах - PullRequest
0 голосов
/ 07 марта 2020

Я разрабатываю приложение Android с использованием Kotlin. Я пишу интеграционные тесты для моего приложения, используя тестовую среду Expresso. Теперь я немного пытаюсь создать заглушку для результата Intent, используя намерения Expresso.

Я начинаю деятельность, используя следующий код.

    val intent = Intent(Intent.ACTION_PICK)
    // Sets the type as image/*. This ensures only components of type image are selected
    intent.type = "*/*"
    //We pass an extra array with the accepted mime types. This will ensure only components with these MIME types as targeted.
    val mimeTypes = arrayOf("image/jpeg", "image/png", "video/*")
    intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes)
    intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)

    startActivityForResult(intent, 123)

В обратном вызове onActivityResult я буду сделайте что-нибудь с результатом

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == 123) {
        //do something   
    }
}

Что я пытаюсь сделать сейчас, так это то, что в своих тестах я пытаюсь создать заглушку Intent с помощью Intent.ACTION_PICK. Что мне нравится делать, так это то, что мне нравится начинать это намерение, используя метод intending express -intent.

Например, в документации упоминается, как запустить пакет с помощью следующего кода .

intending(toPackage("com.android.contacts")).respondWith(result)

Что я хотел бы сделать, так это то, что вместо использования toPackage я хотел бы заменить его намерением. Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...