TDD with Go - up1/training-courses GitHub Wiki

Duration :: 2 days

Course outline

  • Getting started with TDD (Test-Driven Development)
    • Why TDD ?
    • TDD cycle
      • RED -> Green -> Refactor
      • THINK before coding
    • Workshop with V-Model in software development ?
      • Requirement -> Acceptance test
      • Architecture -> Integration test
      • Design -> Function test
      • Develop -> Unit test
  • How to create testable application ?
    • Good project structure
      • Maintainability
      • Understand
      • Testability
      • Coupling and cohesion
    • Struct and Interface
    • Project structure
      • MVC
      • Clean architecture
      • Hexagonal architecture
  • Pyramid testing
    • Unit testing
    • Integration testing
    • Component testing
    • End-to-End testing (API/UI)
  • Testing with Go
    • Structure of test case in Go
    • Run test
    • Test/code coverage
  • Develop RESTful API with Go
    • Standard package
    • 3-parties package
      • Gin
      • Echo
    • How to test RESTful API ?
      • net/http/httptest
      • testify
  • Testing workshop with Go
    • Unit testing
    • Integration testing
    • Component testing
    • Contract testing
    • End-to-End testing