Стратегия для тестового конвейера с .NETCore и KAFKA

#testing #.net-core #apache-kafka #continuous-integration

#тестирование #.net-core #apache-kafka #непрерывная интеграция

Вопрос:

После настройки прототипа облачной службы на основе приложений Kafka и .NETCore (webapi в качестве производителя и console в качестве потребителей), я разрабатываю профиль моей среды непрерывной интеграции и тестирования. Начиная с нуля, я заинтересован не изобретать велосипед, а использовать для этого самые современные инструменты. С какими основными предварительными запросами мне приходится работать? Я говорю об инструментах, фреймворках…

Я использую приложения с открытым исходным кодом, поэтому Jenkins звучит как «обязательно использовать». Но как быть с глобальной средой? Нужно ли мне иметь постоянно работающий кластер kafka для поддержки непрерывных заданий тестирования?

Мои мысли были на этом этапе:

  • Всегда работает KAFKA и DB
  • Вакансии

    • установка тестового набора данных, тестовой базы данных
    • проверка последнего потребительского компонента для тестирования
    • сборка соответствующего пакета в docker
    • запуск образа docker в тестовой среде
    • запуск тестовых сценариев производителя / потребителя (я бы запустил python? другой лучший способ сделать?), чтобы запустить тестируемый компонент и убедиться, что он выполняет свою работу, измеряя производительность и так далее…

Я что-то здесь упускаю? Есть ли лучший способ сделать? Есть ли другой способ протестировать ввод-вывод потребителя / производителя без запущенного кластера Kafka?

Спасибо,

Комментарии:

1. «Есть ли другой способ протестировать ввод-вывод потребителя / производителя без запущенного кластера Kafka?» — В Java API есть макет производителя и потребителя, которые в основном тестируют десериализацию, а не полный цикл обхода сети. Не уверен, что есть у клиентов dotnet