Go Testing Frameworks

Open-source Go projects categorized as Testing Frameworks

Top 23 Go Testing Framework Projects

  • Testify

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

    Project mention: Golang, GraphQL y Postgress | reddit.com/r/devsarg | 2023-01-26

    Como herramientas te recomiendo: FastJson https://github.com/valyala/fastjson : Si necesitas leer jsons Testify https://github.com/stretchr/testify : Para mockear y testear

  • GoConvey

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

    Project mention: Is there a more detailed test coverage report than go test -cover? | reddit.com/r/golang | 2022-08-01

    IIRC you can use http://goconvey.co/ just for the reports

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • ginkgo

    A Modern Testing Framework for Go

    Project mention: ginkgo integration with jira/elasticsearch/webex/slack | reddit.com/r/golang | 2023-01-17

    If you are using Ginkgo for your e2e, this library might of help.

  • go-cmp

    Package for comparing Go values in tests

    Project mention: Visualizing Diffs The Myers difference algorithm | news.ycombinator.com | 2022-11-03

    This made me think of a couple other interesting things:

    1. you can change which algorithm is used in git diff as multiple are supported


    2. Google has an edit graph implementation in Go in the cmp package


  • Gauge

    Light weight cross-platform test automation

    Project mention: Java Developer, What do you do? | reddit.com/r/developersIndia | 2022-10-24

    Since the project also uses Postgres, Redis, and AMQP, we also write integration tests. A docker compose file is there to stack up the test suite, and before each test, the tables, the keys, and the queues are reset. We don't try to aim to test for all the cases but usually all the controllers are covered. I personally would prefer to write more test cases between multiple micro services (e2e?) using something like Gauge but these integration tests are kind of enough.

  • Looking for Maintainer

    Selenium/Webdriver client for Go (by tebeka)

    Project mention: Need help with automation | reddit.com/r/golang | 2022-09-25

    found it thank you. For pointing that out

  • godog

    Cucumber for golang

    Project mention: What's your favourite part of unit testing? | reddit.com/r/golang | 2023-01-19

    I also use BDD (Gherkin with godog in particular) to verify and document the expected behaviour of a product from an end user's perspective when needed. I usually do this when the product also contains untested code that I have no control over when I'm working on a problem - this gives me peace of mind over something I can't control while doubling as documentation.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • gomega

    Ginkgo's Preferred Matcher Library

    Project mention: Quick tip: Easy test assertions with Go generics | reddit.com/r/golang | 2022-04-03
  • is

    Professional lightweight testing mini-framework for Go.

    Project mention: The Go libraries that never failed us: 22 libraries you need to know | reddit.com/r/golang | 2022-12-13
  • gnomock

    Test your code without writing mocks with ephemeral Docker containers 📦 Setup popular services with just a couple lines of code ⏱️ No bash, no yaml, only code 💻

    Project mention: Python/Django to Golang questions | reddit.com/r/golang | 2022-05-06
  • go-vcr

    Record and replay your HTTP interactions for fast, deterministic and accurate tests

    Project mention: Testing calls to external APIs | reddit.com/r/golang | 2022-12-09

    Mocking the http client using recorded responses; for example using dnaeon/go-vcr

  • testfixtures

    Ruby on Rails like test fixtures for Go. Write tests against a real database

    Project mention: How to mock database calls | reddit.com/r/golang | 2022-08-27

    I'm the author of https://github.com/go-testfixtures/testfixtures, a library written to make it easier to write tests with a real database and test data. You might want to use it together with docker-compose, for example.

  • goblin

    Minimal and Beautiful Go testing framework

  • baloo

    Expressive end-to-end HTTP API testing made easy in Go

  • GoAws

    AWS (SQS/SNS) Clone for Development testing (by p4tin)

  • gocheck

    Rich testing for the Go language (by go-check)

  • goc

    A Comprehensive Coverage Testing System for The Go Programming Language

  • go-mutesting

    Mutation testing for Go source code

    Project mention: go-mutesting with nvim | reddit.com/r/neovim | 2022-07-27

    hi, is there a way to integrate this command https://github.com/zimmski/go-mutesting with neovim, and to run it on every buffer save.

  • embedded-postgres

    Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test

    Project mention: Embedded database options | reddit.com/r/golang | 2022-05-18

    This is down to nuance, but all databases are "file based" as they all write to files. But most of them require a separate process with lock coordination to get away from writer lock delays and ensure ACID, which includes Postgresql. Calling any version of pgl "embedded" is confusing because I see that being used to describe pgl databases which are run in a localhost mode with a single reader/writer client. Regardless, those still require a postgres process and access it over IP. For simplicity, if one uses a database by touching its files directly from the process accessing the database, then it's "embedded"; but then again I guess that semantic ship has sailed: https://github.com/fergusstrange/embedded-postgres so the point may be moot.

  • gofight

    Testing API Handler written in Golang.

  • testza

    Full-featured test framework for Go! Assertions, fuzzing, input testing, output capturing, and much more! 🍕

    Project mention: Testza: A full-featured go testing framework with developer-friendly output | reddit.com/r/golang | 2022-04-01
  • gotest.tools

    A collection of packages to augment the go testing package and support common patterns.

    Project mention: How do you do DB preparation in e2e tests? | reddit.com/r/golang | 2022-10-20

    Assertion libraries that people seem to love: - testify (my favorite) - go-cmp is a more barebones library - gotest.tools -- I have never used this but some swear by it

  • go-testdeep

    Extremely flexible golang deep comparison, extends the go testing package, tests HTTP APIs and provides tests suite

    Project mention: Working with JSON in Go: A Comprehensive Guide | reddit.com/r/golang | 2023-01-05

    And do not forget to use go-testdeep and its JSON operator to test JSON content: :)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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 2023-01-26.

Go Testing Frameworks related posts


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

Project Stars
1 Testify 18,763
2 GoConvey 7,588
3 ginkgo 6,817
4 go-cmp 3,330
5 Gauge 2,782
6 Looking for Maintainer 2,055
7 godog 1,884
8 gomega 1,825
9 is 1,516
10 gnomock 1,038
11 go-vcr 984
12 testfixtures 900
13 goblin 875
14 baloo 750
15 GoAws 704
16 gocheck 666
17 goc 617
18 go-mutesting 569
19 embedded-postgres 518
20 gofight 428
21 testza 410
22 gotest.tools 391
23 go-testdeep 340
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives