Как получить контекст для юнит-теста - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь передать контекст в конструктор для модульного теста. И я получаю следующую ошибку

java.lang.IllegalStateException: No instrumentation registered! Must run under a registering instrumentation.

Я пробовал следующий код.

public class Handler {

    @Mock
    MyViewModel viewModel;

    @Before
    public void setup() {
        Context context = InstrumentationRegistry.getInstrumentation().getContext();
        Handler = new Handler(context, viewModel);

    }
}

1 Ответ

0 голосов
/ 01 мая 2020

Добавление аннотации @RunWith с помощью AndroidJUnit runner.

@RunWith(AndroidJunit4::class)
public class Handler {

    @Mock
    MyViewModel viewModel;

    @Before
    public void setup() {
        Context context = InstrumentationRegistry.getInstrumentation().getContext();
        Handler = new Handler(context, viewModel);

    }
}

Также добавьте следующую зависимость, если она не добавлена ​​в build.gradle (приложение)

androidTestImplementation 'androidx.test.ext:junit:1.0.0'
...