У меня есть класс интегратора, который мне нужно проверить, конструктор класса создает экземпляр сервисного клиента. Поскольку клиент службы является внешней зависимостью, я хочу проверить индивидуальную ответственность интегратора. Код выглядит так.Какой лучший способ издеваться над конструктором для JUnit?
public class Integrator {
Client client;
public Integrator() {
client = new RemoteClient();
}
public String invokeClient() {
....
}
}
Что может быть лучшим способом издеваться над этим? Кроме того, мне нужно убедиться в охвате кода.
Существует довольно тесная связь между интегратором и клиентом, потому что инверсия зависимости уже позаботилась на один уровень выше. –
Нет никакого вреда, имеющего несколько уровней инверсии зависимостей. Плюс это звучит так, будто вам нужно немного более слабое соединение, чтобы вы могли издеваться над ним. – dkatzel
Я опишу проблему, интегратор подбирает клиента DI, теперь каждый отдельный клиент тесно связан с поставщиком услуг. Показанный пример не подходит, он показывает, что мы собираем клиента, где можно использовать DI, но, как сказано, мы сначала собираем клиента, используя DI, а затем собираем поставщика услуг в клиенте, который тесно связан. Теперь снова DI, заставит интегратора выбрать клиента, а также указать указать поставщика услуг, который не имеет смысла. –