🎉 Welcome to GoTesting.dev 🎉

We are dedicated to helping you learn how to write effective tests for flexible Go software.


What is this place?

Go Testing is a helpful community for developers who strive to make their software more flexible by writing effective tests. Our goal is to teach the fundamentals of writing tests, teach the effective patterns for avoiding costly rewrites, and to teach the most up-to-date testing methods. We provide resources, tutorials, and community support to ensure you have the tools and guidance necessary to write effective tests. Join us on our journey to help you write more flexible software.

  1. First, introduce you to the fundamental concepts underlying effect testing and how they make your software more flexible—not less.
  2. Next, we introduce the different available tools and frameworks for writing tests in Go such as the Go testing library.
  3. We then explain the concept of TDD (Test-Driven Development). This will include understanding the structure of test cases and writing assertions.
  4. We then move on to using the tools to write our first test cases. We will cover topics such as setting up tests, writing assertions, verifying results, and other concepts relating to testing.
  5. Once you have a good foundation of writing tests, we move on to more advanced topics such as writing tests for packages, setting up test environments, and running tests in parallel.
  6. Finally, we cover common patterns and best practices for testing in Go, and discuss ways to extend your test suite to cover the most important aspects of your application.

After reviewing this content, you will have the knowledge and skills required to write software that expresses itself well and can be rapidly changed.