Что мне нужно импортировать, чтобы использовать launchActivity <> () в UnitTests? - PullRequest
2 голосов
/ 30 марта 2019

Итак, я пытаюсь проверить свою активность, следуя инструкциям Google здесь: https://developer.android.com/guide/components/activities/testing

Но код launchActivity<MyActivity>() не работает. Нужно ли мне определять launchActivity как правило или есть библиотека, которую мне нужно импортировать в gradle?

Это импорт, который у меня уже есть

testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'

1 Ответ

0 голосов
/ 30 марта 2019

Нужно ли определять launchActivity как правило или есть библиотека I нужно импортировать в gradle?

Да. Вам нужно будет настроить правило в начале вашего тестового класса следующим образом:

@RunWith(AndroidJUnit4.class)
public class YourActivityTests extends AndroidJUnitRunner {

    @Rule
    public ActivityTestRule<YourActivity> mYourActivityActivityTestRule =
        new ActivityTestRule<YourActivity>(YourActivity.class);

Необходимые библиотеки импорта включены в пакет импорта androidx.test.

Это для Java, но в Kotlin должен быть эквивалентный путь. Надеюсь, это поможет.

Редактировать: вы должны использовать последние стабильные сборки (те, которые имеют только номера в версии) для производственных приложений. Используйте любые версии с суффиксом -alpha или -rc только тогда, когда действительно нуждаются в этих версиях библиотеки.

...