Go Testing

Open-source Go projects categorized as Testing | Edit details

Top 23 Go Testing Projects

  • GitHub repo learn-go-with-tests

    Learn Go with test-driven development

    Project mention: My journey to writing my blog in Go | dev.to | 2021-04-14

    Go through Learn Go With Tests to learn how to test the code correctly in Go.

  • GitHub repo Gor

    GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.

    Project mention: GoReplay - test your system with real data | reddit.com/r/programming | 2021-09-19
  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo Testify

    A toolkit with common assertions and mocks that plays nicely with the standard library

    Project mention: I'm curious about developer dependencies for library projects | reddit.com/r/golang | 2021-10-16

    There is a way to put codegen code in a separate folder and create a separate go.mod file there. Like stretchr did. https://github.com/stretchr/testify/tree/master/_codegen

  • GitHub repo chromedp

    A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol.

    Project mention: Any packages to manage android or ios browsers? | reddit.com/r/golang | 2021-08-15
  • GitHub repo GoConvey

    Go testing in the browser. Integrates with `go test`. Write behavioral tests in Go.

    Project mention: Do you prefer go-convey over golang's t.Run? | reddit.com/r/golang | 2021-04-23

    For a generic usecase, do you see Go-convey adding any benefit over simple golang t.Run?

  • GitHub repo gomock

    GoMock is a mocking framework for the Go programming language. (by golang)

    Project mention: Mocking with High-Order Functions in Go | reddit.com/r/golang | 2021-08-06

    Honestly curious - why wouldn't you use something like https://github.com/golang/mock to generate your mocks from an interface. Way more productive, consistent and cleaner. Spend more time and focus on your business logic rather than something that's already been solved.

  • GitHub repo toxiproxy

    :alarm_clock: :fire: A TCP proxy to simulate network and system conditions for chaos and resiliency testing

    Project mention: Simulating poor network connections so you can build better systems. | reddit.com/r/programming | 2021-07-23

    https://github.com/shopify/toxiproxy exists for this purpose and is quite good.

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo terratest

    Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.

    Project mention: Testing automated deploys | reddit.com/r/Terraform | 2021-10-15

    We use Terratest to do something similar. We use it within our CI/CD pipeline for testing Terraform modules before they are built and published in our registry, as well as use in a larger Terragrunt stack to perform more of an end to end test.

  • GitHub repo ginkgo

    BDD Testing Framework for Go

    Project mention: Testza - A modern test framework with pretty output | reddit.com/r/golang | 2021-08-25

    What are people’s thoughts on testing frameworks? I’ve heard that most devs only use the testing package in the standard library and the testify package for assertions— I assume this is because Go is meant to be lightweight and scalable, and adding external dependencies basically goes against that. But I’ve also seen devs use packages like ginkgo to make tests more structured and readable. What do you guys think?

  • GitHub repo goss

    Quick and Easy server testing/validation

    Project mention: How To Use Terraform like a Pro: Part 1 | dev.to | 2021-09-09

    Use GOSS, a YML-based open-source tool that can assert the test results (i.e., verifying if the SSH port 22 is closed or not).

  • GitHub repo go-fuzz

    Randomized testing for Go

    Project mention: Go: Fuzzing Is Beta Ready | news.ycombinator.com | 2021-06-04

    > it shows the limitations of the language that you can't just build this inside the language.

    Not sure why you'd make that assumption. https://github.com/dvyukov/go-fuzz

  • GitHub repo realize

    Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.

  • GitHub repo go-grpc-middleware

    Golang gRPC Middlewares: interceptor chaining, auth, logging, retries and more.

    Project mention: gRPC best practices | reddit.com/r/golang | 2021-04-21

    Example auth middleware: https://github.com/grpc-ecosystem/go-grpc-middleware/blob/master/auth/examples_test.go

  • GitHub repo go-sqlmock

    Sql mock driver for golang to test database interactions

    Project mention: Go Package for better integration tests: github.com/ory/dockertest | dev.to | 2021-04-23

    We have different ways to write our tests depending on what datastore we are using, for example if we are testing database calls that happen to be using database/sql then importing a package like github.com/DATA-DOG/go-sqlmock could work.

  • GitHub repo gotests

    Automatically generate Go test boilerplate from your source code.

    Project mention: ¿Como estructurar tu aplicación en Go? | dev.to | 2021-05-09
  • GitHub repo mockery

    A mock code autogenerator for Golang (by vektra)

    Project mention: mockcompose to generate mocking implementation for Go classes, interfaces and functions | reddit.com/r/golang | 2021-07-06

    As a Go newbie, the on-boarding process to Golang went relatively smoothly except a small glitch when it came to search for a mocking framework to test out a Go class implementation. I was a bit surprised to realize that I was not able to find a on-shelf tool to help me mock a class method. It might be an edge case scenario that I wanted to mock a class method, but I do believe that this is a valid use case, so I went ahead to spend a weekend building such a tool: mockcompose. It was originally aimed to just solve this one particular use case, therefore, it had to be used together with mockery (one of the great tools I found during my search in the period). I later refined the tool to cover mocking code generation for Go interfaces and functions, mockcompose can now be used in most of Go unit test scenarios. Please check it out and give it a try, I hope the tool is useful, feel free to drop your feedback and share with your opinion there.

  • GitHub repo Gauge

    Light weight cross-platform test automation

    Project mention: 9 Of The Best Java Testing Frameworks For 2021 | dev.to | 2021-05-14

    Gauge is a Behavior Driven Java testing framework launched by ThoughtWorks.Inc. This is also one of the best Java Testing Frameworks, which allows software engineers to develop automated frameworks and speed up the software development procedure.

  • GitHub repo go-cmp

    Package for comparing Go values in tests

    Project mention: Migrating from PHP to Go | reddit.com/r/golang | 2021-09-30

    Checking for equality in tests: https://github.com/google/go-cmp

  • GitHub repo selenoid

    Selenium Hub successor running browsers within containers. Scalable, immutable, self hosted Selenium-Grid on any platform with single binary.

  • GitHub repo conftest

    Write tests against structured configuration data using the Open Policy Agent Rego query language

    Project mention: Don't let your Terraform go rogue with Conftest and the Open Policy Agent | dev.to | 2021-06-25

    Insert Conftest! As they state in their GitHub description, Conftest tests against structured configuration data using the Open Policy Agent Rego query language. In the case of Terraform, this means we're actually running unit tests against sample JSON and actual tests against the Terraform state JSON.

  • GitHub repo rod

    A Devtools driver for web automation and scraping

    Project mention: Mastering Web Scraping in Python: Crawling from Scratch | news.ycombinator.com | 2021-08-11

    If performance, Especially concurrency matters then we should include Go based libraries in the discussion as well.

    Colly[1] is a all batteries included scrapping library, But could be bit intimidating for someone new to HTML scrapping.

    rod [2] is a browser automation library based on DevTools Protocol which adheres to Go'ish way of doing things and so it's very intuitive but comes with overhead of running chromium browser even if its headless.

    [1] https://github.com/gocolly/colly

    [2] https://github.com/go-rod/rod

  • GitHub repo httpexpect

    End-to-end HTTP and REST API testing for Go.

  • GitHub repo hoverfly

    Lightweight service virtualization/API simulation tool for developers and testers

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-10-16.


What are some of the best open-source Testing projects in Go? This list will help you:

Project Stars
1 learn-go-with-tests 15,520
2 Gor 14,767
3 Testify 14,494
4 chromedp 6,825
5 GoConvey 6,699
6 gomock 6,254
7 toxiproxy 5,811
8 terratest 5,653
9 ginkgo 5,171
10 goss 4,495
11 go-fuzz 4,152
12 realize 4,121
13 go-grpc-middleware 4,002
14 go-sqlmock 3,848
15 gotests 3,475
16 mockery 2,971
17 Gauge 2,573
18 go-cmp 2,522
19 selenoid 2,013
20 conftest 1,935
21 rod 1,859
22 httpexpect 1,789
23 hoverfly 1,787
Find remote jobs at our new job board 99remotejobs.com. There are 34 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives