Test-driven development (TDD) is a software design technique based on tests that promotes an iterative way of writing software. This course will teach you to use TDD using Go—one of the most popular languages.
In this course, you will first learn about the fundamentals of Go, including packages, standard library, and error handling. Then, you will go through a comprehensive guide on writing test cases using Go, including subtests, table-driven tests, skipping, benchmarking, fuzzing, dependency injection, and mocking in unit tests. Next, you will look at multiple TDD katas and learn about the best practices for making most of the TDD approach. Finally, you will build a TODO application by following the test-driven development approach. This application will be a REST API that exposes actions getting TODOs.
After completing this course, you will have the skills needed to build reliable applications using the test-driven development approach.
Test-driven development (TDD) is a software design technique based on tests that promotes an iterative way of writing software. ...Show More
WHAT YOU'LL LEARN
Familiarity with core components of Go, including structs, interfaces, functions, and methods
Hands-on experience writing unit tests using Go
An understanding of TDD and its application in software development
The ability to write software using TDD with Go
Familiarity with core components of Go, including structs, interfaces, functions, and methods
Show more
TAKEAWAY SKILLS
Content
1.
Introduction
2 Lessons
Gain a foundational understanding of TDD with Go's principles, practices, and advantages.
2.
Go: Fundamentals
6 Lessons
Walk through Go's basics, fmt package, standard library, I/O operations, and error handling.
3.
Tests & TDD
5 Lessons
Break apart tests, TDD, clean tests, code smells, and magic numbers for efficient development.
4.
Go & Tests
14 Lessons
Grasp the fundamentals of writing tests, advanced testing features, and building robust web APIs in Go.
5.
TDD Katas
11 Lessons
Solve problems in FizzBuzz and PassValidator katas using the Red-Green-Refactor TDD approach.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources