Description
In this course, you will :
- Familiarity with Go's essential components, such as structs, interfaces, functions, and methods.
- Practical experience writing unit tests in Go.
- Understanding of TDD and its use in software development.
- The ability to create software in Go using TDD.
Syllabus :
1. Go: Fundamentals
- Hello, World
- Go Basics
- Formatting with Package "fmt"
- Standard Library
- I/O Interactions with "io" and "os" Packages
- Error Handling
2. Tests & TDD
- What Are Tests?
- Test-Driven Development (aka. TDD)
- Clean TestsCode Smells
- Magic Numbers
3. Go & Tests
- Write Your First TestTests in Go
- Skipping and Testify Package
- Benchmarking and Fuzzing
- Roman Numerals: First Test
- Roman Numerals: Add Test Cases
- Roman Numerals: Refactor Tests
- Composition with Structs
- Interfaces in Go
- Dependency Injection
- Mocking in Unit Tests
- Database Mocking
- Building Web APIs in GoTest Web API
4. TDD Katas
- FizzBuzz KataFizzBuzz: Not-Divisible Requirement
- FizzBuzz: "Fizz" Requirement
- FizzBuzz: "Buzz" Requirement
- FizzBuzz: "FizzBuzz" Requirement
- PassValidator Kata
- PassValidator: AtLeastTwoDigits Requirement
- PassValidator: Multiple
- Errors Requirement
- PassValidator: AtLeastACapitalLetter Requirement
- PassValidator: NoSpecial
- Character Requirement
- General TDD Guidelines