Skip to content

Testing with Go

*****

Go is the language used for creating many of the popular DevOps tools and libraries. It's being used for writing high-performing micro-services. It is simple and allows you getting fast binaries for all the major platofrms from the same source code. This 3-day workshop will start with the basics of Go language and then dive into TDD and various testing libraries and techniques to implement effective Go applications.

course logo

What's Inside

Day 1: Go language basics

  • Preparing working environment: tools, IDE, references
  • Introduction to Go syntax: types, vars, consts, functions, loops, conditionals
  • Organizing Go code base
  • Overview of Go standard library
  • Working with data structures: structs, arrays, slices, maps
  • Working with I/O primitives: files, channels
  • Working with functional primitives and parallel execution: functions, closures, threads, goroutines
  • Introduction to TDD

Day 2: Deep dive into unit testing

  • Introduction to TDD: test driven development actually works (Test-first approach, TDD schools: London vs. Detroit)
  • Overview of Go testing libraries: testing, testify, gocheck, gopwt
  • Organizing test code base (writing readable tests, making error message readable, creating test domain specific languages)
  • Using mocks & stubs (with gomock)

Day 3: Advanced testing techniques

  • Unit tests vs integration tests
  • Generating test data (with faker)
  • Behavior driven development (BDD) with ginkgo
  • ATDD (acceptance test driven development)
  • Mutation testing with go-mutetesting

Who's This For

target-light

developers, software architects, technical project managers, system administrators.

What You Get

gem

Unique content - real-life use cases, modern infrastructure, CI/CD/GitOps principles shown in practice.

certificate

Certificate of attendance - you will get a shareable online certificate.

exam

Exam after the course - you may pass an optional 1-hour exam and get your score printed on the certificate.

video-call

Workshop happens online - join from the convenience of your office or home.

video-recording

Video recordings will be available after the course - you can revisit some topics later.

live

Live and interactive - you can ask questions in the chat or over audio and get live clarifications.

qa

Q&A session in the end of each day - you will to get answers to more complex questions in a 1-hour long Q&A session.

quiz

Quizzes and polls during the course - learning should be fun!

cloud-lab

Practical exercises with solutions - lots of simple and not-so-simple tasks to practice with during the course; Solutions will be provided afterwards.

home

Additional home work - for those who want to practice more after the course; Homework will be reviewed and supplemented by constructive feedback.

email

Lifetime e-mail support - you can get answers on anything related to the course content as well as advice based on your company specific situation.

Andrey Adamovich

trainer-lightAbout the trainer

Andrey works as a free-lance DevOps consultant offering his expertise in implementing DevOps initiatives, selecting automation tooling, switching to infrastructure-as-code and immutable infrastructure and constructing software delivery pipelines.

Ask a question

Pricing

Company

85007000per teamof up to 15 attendees
Book Now

Price includes all materials and cloud infrastructure usage.

If training workshop happens on client premises then trainer's traveling expenses will be added to the final price.

VAT charges may apply.

All training courses are a subject to the cancellation policy.

course logo