Тестирование и бенчмарки (benchmarks)
Часть курса Go
Вы написали функцию, запустили программу, увидели правильный ответ и пошли дальше. Через неделю вы меняете что-то рядом, и функция тихо начинает возвращать неверный результат для отрицательных чисел. Никто не замечает этого месяц. Это обычный способ, которым ломается программное обеспечение, и виноваты в этом не плохие программисты - виновато то, что никто не перепроверяет старое после изменения нового.
Test - это как раз такая перепроверка, один раз записанная и выполняемая машиной. Его ценность не в том, чтобы доказать, что ваш код работает сегодня, когда вы только что своими глазами видели, как он работает. Его ценность в том, что через полгода вы сможете изменить что угодно, запустить одну команду и получить прямой ответ на вопрос, что именно вы сломали. ...
Хочешь изучать Go Тестирование и бенчмарки (benchmarks) в реальной среде?
Нажми ниже, получи Linux-машину с Go наготове и пройди Тестирование и бенчмарки (benchmarks) на практике вместе с AI-наставником, который знает твой код.
Начать этот урокТестирование и бенчмарки (benchmarks)Чему вы научитесь
- Go test
- Testing.T
- Table-driven tests
- T.Run subtests
- Testing.B benchmarks
- _test.go file naming
- Test coverage
Читай этот урок на своём языке
Все уроки этого курса
20 уроков- 1Привет, Go25 мин
- 2Переменные и типы25 мин
- 3Управление потоком: if и for30 мин
- 4Функции30 мин
- 5Срезы (slices) и карты (maps)35 мин
- 6Структуры (structs) и указатели (pointers)35 мин
- 7Методы (methods) и интерфейсы (interfaces)35 мин
- 8Обработка ошибок35 мин
- 9Модули (modules) и структура проекта35 мин
- 10Мини-проект на основе CLI40 мин
- 11Обзор стандартной библиотеки40 мин
- 12Тестирование и бенчмарки (benchmarks)40 мин
- 13Горутины (goroutines) и каналы (channels)40 мин
- 14Паттерны параллелизма45 мин
- 15Дженерики (generics)35 мин
- 16HTTP-серверы45 мин
- 17Базы данных с database/sql45 мин
- 18Производительность и профилирование40 мин
- 19Паттерны проектирования в Go40 мин
- 20Развёртывание и эксплуатация45 мин
