Введение в тестирование на Go (Golang)

Введение в тестирование на Go (Golang)
en
22.09.2022
12 г 17 мін 47 сек

Написание модульных и интеграционных тестов — один из самых часто пренебрегаемых аспектов разработки программного обеспечения. Слишком часто разработчики говорят «но у меня на компьютере работает!» когда проект считается завершенным, только чтобы обнаружить, что когда он выходит из среды разработки, вещи не работают так, как ожидалось. Хорошо написанные модульные и интеграционные тесты помогают решить эту проблему и практически всегда сокращают общее время разработки, а не увеличивают его.

 

Курс сосредоточен на написании модульных и интеграционных тестов на языке Go (Golang), современном, типобезопасном, скомпилированном и чрезвычайно быстром языке программирования. Он идеально подходит для создания безопасных, масштабируемых, невероятно быстрых веб-приложений и имеет мощные инструменты тестирования, встроенные прямо в него.

В этом курсе мы создадим четыре простых приложения и тщательно протестируем их:

  • Консольное приложение (CLI), которое пытается определить, является ли введенное пользователем число простым или нет;
  • Простое веб-приложение, которое позволяет пользователю войти в систему и загрузить фотографию профиля;
  • Простой REST API, построенный на той же кодовой базе, что и веб-приложение, который позволяет пользователям аутентифицироваться с помощью JWT-токенов и выполнять операции с базой данных Postgres. Мы рассмотрим весь процесс аутентификации, включая использование токенов обновления, и тщательно протестируем все аспекты кода.
  • Простое веб-приложение с одной страницей (SPA), написанное на Vanilla JavaScript, которое демонстрирует, как использовать JWT и Refresh Tokens в SPA и как протестировать его функциональность.

Для каждого из этих проектов мы изучим, как писать модульные тесты для всей функциональности. Мы узнаем, как тестировать (среди прочего):

  • Маршруты приложения
  • Обработчики приложений
  • Как тестировать несколько сценариев, путем написания и использования тестовых таблиц
  • Операции с базами данных (используя шаблон Repository)
  • Промежуточное ПО приложения
  • Аутентификация пользователя (с помощью сессий)
  • Аутентификация пользователя (с помощью JWT-токенов)
  • Генерация и проверка JWT-токенов
  • Генерация и проверка токенов обновления
  • Тестирование пользовательского ввода
  • Запись в терминал
  • Добавление файлов cookie к запросу
  • Чтение файлов cookie из ответа

По окончании курса вы получите твердое понимание того, как писать эффективные тесты и тестируемый код.

Вы не можете просматривать данный курс -

Array ( [bitrate] => 799967 [filesize] => 39017751 [mime_type] => video/mp4 [length] => 333 [length_formatted] => 5:33 [width] => 1280 [height] => 720 [fileformat] => mp4 [dataformat] => quicktime [audio] => Array ( [dataformat] => mp4 [bitrate] => 128000 [codec] => ISO/IEC 14496-3 AAC [sample_rate] => 44100 [channels] => 2 [bits_per_sample] => 16 [lossless] => [channelmode] => stereo [compression_ratio] => 0.090702947845805 ) [created_timestamp] => -2082844800 )