Инструментарий или модульный тест для метода с элементом в качестве параметра? - PullRequest
0 голосов
/ 30 сентября 2019

Я создаю модульные тесты для своих методов. Все до сих пор не имели никакого отношения к Android Framework (кнопки, Spinners и т. Д.) Или ресурсов. Теперь я подошел к методу, в котором мне нужно получить доступ к массиву из моих ресурсов (например, arrays.xml), но я не могу этого сделать, поскольку контекст недоступен. Это один случай. В другом случае у меня есть метод, как показано в приведенном ниже коде, который принимает параметр из среды Android (пример контекста) и использует его для выполнения некоторой работы.

Пересечение не поможет, так как массивдовольно большой и воссоздает его в тесте, я думаю, что это не считается хорошей практикой (поскольку вы должны иметь возможность получить к нему доступ из ресурсов. Разве это не правильный подход для построения правильного модульного теста?). Я читал об испытаниях модульных приборов, но не смог найти правильный пример того, как это должно быть сделано. Большая часть была для тестирования пользовательского интерфейса. Ниже приведен код из примера 2, который я описал:

public void aMethod(Context context){
    //work
    context.getResounces.getString(aString);
    //more work
}

Предполагается, что юнит-тесты должны быть отделены от зависимостей Android, поэтому мой вопрос, представляющий эти два случая, заключается в том, как мне написать модульные тесты дляметод, который требует Android ресурсов / компонентов? Является ли это непроверенным, и мне нужно проверить их в рамках инструментального теста, когда я буду тестировать пользовательский интерфейс вместо модульного теста? Нужно ли мне писать так называемые инструментальные тесты для этих случаев? И если я это сделаю, есть ли лучшая практика, которой я должен следовать? Любое руководство приветствуется.

...