
usegolang.com
usegolang.com - ресурс, на котором размещены книга и видеоуроки по разработке на Golang.
Узнайте, как тестировать настоящее сложное программное обеспечение, написанное на Go. Маленькое или большое, идеальное или не очень, не важно как выглядит ваш код - Вы можете его тестировать!
Скажите, если это звучит знакомо - вы учитесь как тестировать в Go, и кажется, что дела идут отлично. Все учебники супер, и вы не можете дождаться, чтобы начать применять то, что вы изучаете, в ваших реальных проектах. Вы запускаете свой редактор, захватываете свой последний проект, создаете свой первый исходный файл * _test.go, и внезапно возникает ощущение, что вы не понимаете, что делаете.
* звук разбитого стекла *
Что случилось?!?!
Все шло так здорово. Все эти примеры имели смысл, но теперь вы даже не знаете, с чего начать.
Этот обработчик HTTP «Hello, world» казался таким простым, но как вы тестируете сложные обработчики? Вы знаете, обработчики HTTP, которые делают что-то реалистичное, например, вставляют запись в базу данных или используют API для проверки чьего-либо адреса.
В этом отношении, как мы проверем что наши взаимодействия с базой данных работают, как мы ожидали? Или, может быть, в вашем приложении есть глобальная переменная БД - значит ли это, что тестирование просто невозможно?
Как насчет тех API, с которыми мы взаимодействуем? Мы их заглушим? Мы попали в API? Что произойдет, если мы достигнем предела скорости API или не будет даже тестового API?
Хорошо хорошо! Потратьте секунду, чтобы дышать, и позвольте мне раскрыть вам маленький секрет...
Тестирование не сложнее, чем написание любого другого кода Go. На самом деле, если бы мы хотели, мы могли бы протестировать наш код, просто написав основной пакет и взаимодействуя с кодом нашего приложения. Мы могли бы запаниковать, когда что-то не работает, как мы ожидали, и вуаля - у нас есть тест!
Но почему это так тяжело? Возможно, потому что мы упрощаем примеры до такой степени, что они теряют всю свою ценность.
Подумайте об этом, когда вы в последний раз писали функцию Palindrome
? Никогда? Так почему же все эти уроки показывают нам, как их протестировать?
Почему они не показывают нам, как тестировать реалистичное программное обеспечение? Что случилось с примером, где мы тестируем настоящий обработчик HTTP, которому нужен доступ к хранилищу данных? Или учебник, в котором мы создаем API и узнаем, как его протестировать, БЕЗ постоянного попадания в настоящий API. Разве не было бы замечательно, если бы мы могли научиться тестировать настоящее веб-приложение с реальной БД и реальной интеграцией с платежным API, таким как Stripe?
Тестирование с Go другой.
В этом курсе вы узнаете, как тестировать РЕАЛЬНОЕ программное обеспечение, а не функции палиндрома.
Нам нужно взглянуть на несколько отдельных примеров, чтобы изучить конкретные методы тестирования, но этого недостаточно, чтобы закрепить концепцию, поэтому мы не остановимся на этом. Мы создадим реальные проекты, которые научат вас, как применять все эти навыки тестирования в реальном программном обеспечении.
В одном проекте мы создаем веб-приложение, которое позволяет нам решать сложности, возникающие при тестировании приложения, использующего базу данных, сторонние API и многое другое. В другом проекте мы рассмотрим, как внутреннее тестирование помогает нам проверить правильность наших промежуточных шагов, а также обсуждаем недостатки тестирования не экспортируемых функций.
Вы узнаете о распространенных ошибках, которых следует избегать, чтобы написать более тестируемый код. Вы узнаете, как постепенно исправлять код, который уже поддался многим из этих ловушек.
Когда вы запускаете приложение с глобальной переменной БД, вам не нужно отказываться от тестирования. Вы точно узнаете, как вносить небольшие, управляемые изменения в код, которые позволят вам начать его тестирование практически сразу.
В следующий раз, когда вас спросят, следует ли макетировать хранилище данных или использовать реальную базу данных SQL, вы сможете обсудить плюсы и минусы обоих подходов со своими товарищами по команде и принять решение о правильном плане действий.
После прохождения этого курса у вас будут знания и навыки, необходимые для начала тестирования ваших собственных проектов. Вам все равно придется заняться работой, но тайна, растерянность и разочарование исчезнут.
Тестирование с Go разбит на два основных раздела: уроки и проекты!
Вместе уроки и проекты охватывают 173 видео и более 33 часов контента.
На уроках мы сосредоточены на изучении методов, необходимых для тестирования наших приложений. Мы изучим основы, такие как, как написать ваш первый тест и что такое тестирование на основе таблиц, но мы также рассмотрим более продвинутые методы тестирования, такие как:
Мы потратим некоторое время, используя небольшие изолированные примеры, чтобы изучить каждую технику, но постепенно они станут более реалистичными, когда вы ознакомитесь с тестированием. Вскоре мы рассмотрим тесты, использующие реальную базу данных SQL, помощников по тестированию, которые позволяют нам тестировать конечные точки HTTP, требующие аутентификации, и многое другое.
В проектах мы будем использовать все, что узнали на уроках, и практиковаться в их применении при создании реального программного обеспечения. Мы рассмотрим некоторые из наиболее распространенных ошибок, которые вы можете совершать при разработке приложения, а также как постепенно реорганизовать ваш код, чтобы сделать его более тестируемым. Мы увидим из первых рук, как разделить ваши интеграционные и модульные тесты, что позволит вам писать тесты для API, которые можно запускать как локально, так и онлайн с помощью реального API. Мы даже рассмотрим, как экспортировать некоторые из этих вспомогательных функций, чтобы другим пользователям, которые используют ваши библиотеки, было легче писать тесты.
Уроки (Урок 1-88)
Уроки состоят из 88 видеороликов, которые постепенно выведут вас из самых простых упражнений, таких как написание первого теста, вплоть до продвинутых методов, таких как наборы тестов интерфейса, внедрение зависимостей и многое другое.
Все уроки разбиты на разделы, что упрощает быстрый переход к предмету, который вы хотите изучить или просмотреть. Это означает, что через несколько лет, когда вам понадобится быстрое напоминание о тестировании подпроцессов, вы сможете быстро найти нужный раздел и вернуться к тестированию своего кода с минимальным временем простоя.
Проекты (Уроки 89-173)
В этом курсе три проекта:
Каждый проект создается с нуля с целью научить вас тестированию в реальном программном обеспечении. Например, мы намеренно будем делать ошибки, которые усложняют тестирование нашего кода, а затем искать способы сделать его более тестируемым. Или в других случаях мы могли бы обсудить компромиссы одного подхода против другого, прежде чем в конечном итоге двигаться вперед и писать какой-либо код.
ПОЛНЫЙ ПАКЕТ
usegolang.com - ресурс, на котором размещены книга и видеоуроки по разработке на Golang.
Лучше, чем REST API! Создайте быстрый и масштабируемый HTTP / 2 API для Go микро-сервиса с помощью gRPC, Protocol Buffers (protobuf). gRPC - это новый и современный фреймворк для построения масштабируемого, современного и быстрого API. Он используется многими ведущими технологическими компаниями, такими как Google, Square и Netflix, и позволяет программистам писать микро-сервисы на любом языке, который они хотят, сохраняя при этом возможнос
Курс Golang состоит из 8-ми уроков, на которых учащиеся будут узнавать свойства языка и его возможности. На данном курсе учащиеся будут изучать язык на примерах, которые будут построены специально для этих уроков. Уроки призваны использовать основные понятия и функционал, не углубляясь в его особенности. После прохождения курса, Вы будете знать основные понятия языка, правильно писать код на нём, а также уметь использовать функционал, описанный в
Здесь нет тривиальных одностраничных приложений TODO. Просто настоящие, продакшн веб-приложения. Go, как полагают, отлично подходит для веб-разработки, так почему же так сложно сделать даже простой твитер-клон? Почему никто не может указать мне конкретный пример того, как хешировать и хранить пароли пользователей? Или как построить остальную систему аутентификации?
Совершенствуйтесь в Go! 10+ проектов, 200+ упражнений, 500+ вопросов и многое другое... Это самый полный онлайн курс по Go на планете Земля. В этом курсе вы узнаете, как программировать на Go. Но это только верхушка айсберга. Этот курс посвящен изучению лучших практик языка программирования Go. Только после этого курса вы сможете самостоятельно писать код на Golang.
Изучите основы и расширенные возможности языка программирования Go (Golang). Go - это язык программирования с открытым исходным кодом, созданный Google. Как один из самых быстрорастущих языков с точки зрения популярности, это отличное время, чтобы изучить основы Go! Этот курс предназначен для быстрого запуска с Go. Мы быстро рассмотрим основы, а затем погрузимся в некоторые из более продвинутых функций языка. Не обманывайте себя другими курсами,