Я делаю тесты для приложения, которое не было в хорошем состоянии, и я столкнулся с проблемой, пытаясь создать имитацию для теста. Изменение кода не является вариантом, в этом случае оно должно быть очень тонким.
Функция im testing имеет следующий блок кода:
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (cameraIntent.resolveActivity(fragment.getActivity().getPackageManager()) != null) {
//Code I want to test
}
Проблема в том, что исключение нулевого указателя бросается, когда я высмеиваю объект фрагмента, который передается параметром. Нельзя использовать выражение Mockito.when (или, по крайней мере, я не мог заставить его работать) и многие другие варианты, которые я пробовал. У меня закончились идеи, я попробовал рефлексию, robolectri c тени, и я все еще застрял.
Я довольно новичок в тестировании, поэтому я хотел знать, как лучше всего подойти к этой ситуации ,
Как вы могли бы сделать это, если бы без рефакторинга кода?
Если вам нужно провести рефакторинг, какие изменения вы бы сделали? Будучи настолько тонким, насколько это возможно.