Как обрабатывать несколько зависимостей в TDD с помощью Java?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как обрабатывать несколько зависимостей в TDD с помощью Java?

Сообщение Anonymous »

Я практикую TDD на Java, и моя тестовая настройка становится слишком сложной, когда класс имеет несколько зависимостей.
Сценарий:
Например, мой PaymentProcessingService зависит от валидатора, платежного шлюза, репозитория базы данных и службы электронной почты. Мои тесты требуют имитации всех четырех зависимостей, что делает настройку многословной и сложной в обслуживании.

Код: Выделить всё

@Test
public void shouldProcessValidPayment() {
// Mocking 4 dependencies makes this setup very long
when(validator.validate(any())).thenReturn(true);
when(gateway.charge(any())).thenReturn(new GatewayResponse("success"));
when(repository.save(any())).thenReturn(transaction);
// ... bla bla bla

PaymentResult result = service.processPayment(request);

assertEquals(PaymentStatus.SUCCESS, result.getStatus());
}
Вопрос:
В TDD мне следует разбить это на более мелкие классы с меньшим количеством зависимостей или есть лучший способ структурировать тесты, когда у службы много соавторов?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -with-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»