Должен ли у простой пружинной производителя Kafka есть модульные тесты или только интеграционные тесты?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Должен ли у простой пружинной производителя Kafka есть модульные тесты или только интеграционные тесты?

Сообщение Anonymous »

Я изучаю Kafka с Spring Boot и создал простой проект, который имитирует услугу заказа электронной коммерции. Проект включает в себя контроллер, который получает полезную нагрузку JSON и передает его уровню сервиса, который действует как продюсер Kafka.
Ответственность продюсера проста: он требует объекта JSON, сериализует его на строку и отправляет его в тему Kafka, используя kafkatemplate . /> Поскольку класс производителей просто сериализует объект и отправляет его брокеру Kafka, я должен писать модульные тесты для этого класса?@Slf4j
@Service
@RequiredArgsConstructor
public class OrderProducer {

private final KafkaTemplate kafkaTemplate;
private final KafkaProperties kafkaProperties;
private final ObjectMapper objectMapper;

public void sendOrder(Order order) {
try {
var jsonOrder = objectMapper.writeValueAsString(order);
var future = kafkaTemplate.send(kafkaProperties.topic(), jsonOrder);

future.whenComplete((status, e) -> {
if (e != null) {
log.error("Error sending message: {}", e.getMessage());
}
});
} catch (JsonProcessingException e) {
log.error("Error serializing order: {}", e.getMessage());
}
}
}
< /code>
Я лично считаю, что написание модульного теста для этого класса может быть излишним, так как нет реальной бизнес -логики. Тем не менее, я вижу ценность в тестировании этого класса, если бы я добавил такие функции, как обработка ошибок, повторения или поддержку темы мертвой буквы - поэтому я мог бы проверить как счастливый путь, так и сценарии сбоев. Покрытие низкое? Другими словами, должен ли я имитировать HTTP -запрос и использовать что -то вроде TestContainers или встроенной кафки, чтобы убедиться, что сообщение было фактически опубликовано для брокера Kafka?

Подробнее здесь: https://stackoverflow.com/questions/796 ... tion-tests
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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