Я пишу (junit) модульные тесты для класса, который реализует открытый интерфейс с такими методами, как:
public Set<Setting> getUserSettings();
public Set<Setting> getOrganizationSettings();
public Set<Setting> getDefaults();
public Set<Setting> getAllSettings();
Методы получения настроек из определенного слоя выполняют ввод-вывод из разных мест для получения их результатов.,getAllSettings () Возвращает один набор всех настроек на всех уровнях, причем предпочтение имеет «самый верхний» уровень (т. е. если настройка существует на уровне по умолчанию и на уровне пользователя, будет использоваться настройка на уровне пользователя.
Я уже написал модульные тесты для getUserSettings (), getOrganizationSettings (), getDefaults (), макетирования операций ввода-вывода с объектами Mocked.
Реализация для getAllSettings () выглядит примерно так:
public Set<Setting> getAllSettings(){
Set<Setting> defaults = getUserSettings();
Set<Setting> custom = getOrganizationSettings();
Set<Setting> undefined = getDefaults();
//perform some sorting and business logic
//return fully sorted set
}
Мой вопрос заключается в том, как выполнить модульное тестирование метода getAllSettings (). Использую ли я mocks (используя easymock / powermock) для всех последующих вызовов ресурсов, которые используют методы user / organization / defaultSettings?как если бы был более чистый / лучший / простой способ сделать это.