Testing Frameworks

Libraries for testing codebases and generating test data.

Testify23.8K

Sacred extension to the standard go testing package.

GoConvey8.3K

BDD-style framework with web UI and live reload.

keploy5.2K

Generate Testcase and Data Mocks from API calls automatically.

go-cmp4.3K

Package for comparing Go values in tests.

testcontainers-go3.8K

A Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The clean, easy-to-use API enables developers to programmatically define containers that should be run as part of a test and clean up those resources when the test is done.

httpexpect2.6K

Concise, declarative, and easy to use end-to-end HTTP and REST API testing.

godog2.4K

Cucumber BDD framework for Go.

is1.8K

Professional lightweight testing mini-framework for Go.

gnomock1.4K

integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks.

go-vcr1.3K

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

testfixtures1.1K

A helper for Rails' like test fixtures to test database applications.

embedded-postgres891

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

goblin888

Mocha like testing framework of Go.

goc835

Goc is a comprehensive coverage testing system for The Go Programming Language.

baloo777

Expressive and versatile end-to-end HTTP API testing made easy.

go-mutesting652

Mutation testing for Go source code.

gotest.tools524

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

gofight442

API Handler Testing for Golang Router framework.

go-testdeep438

Extremely flexible golang deep comparison, extends the go testing package.

testza419

Full-featured test framework with nice colorized output.

cupaloy313

Simple snapshot testing addon for your test framework.

frisby278

REST API testing framework.

endly265

Declarative end to end functional testing.

got265

An enjoyable golang test framework.

go-hit256

Hit is an http integration test framework written in golang.

go-carpet246

Tool for viewing test coverage in terminal.

commander226

Tool for testing cli applications on windows, linux and osx.

charlatan203

Tool to generate fake interface implementations for tests.

dbcleaner161

Clean database for testing purpose, inspired by database_cleaner in Ruby.

jsonassert128

Package for verifying that your JSON payloads are serialized correctly.

testcase122

Idiomatic testing framework for Behavior Driven Development.

gocrest106

Composable hamcrest-like matchers for Go assertions.

be103

The minimalist generic test assertion library.

wstest102

Websocket client for unit-testing a websocket http.Handler.

gherkingen80

BDD boilerplate generator and framework.

Gont79

Go network testing toolkit for testing building complex network topologies using Linux namespaces.

testcerts70

Dynamically generate self-signed certificates and certificate authorities within your test functions.

assert63

Basic Assertion Library used along side native go testing, with building blocks for custom assertions.

restit55

Go micro framework to help writing RESTful API integration test.

gospecify52

This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec.

gomatch47

library created for testing JSON against patterns.

fluentassert46

Extensible, type-safe, fluent assertion Go library.

dsunit45

Datastore testing for SQL, NoSQL, structured files.

fixenv30

Fixture manage engine, inspired by pytest fixtures.

Hamcrest30

fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.

flute21

HTTP client testing framework.

schema20

Quick and easy expression matching for JSON schemas used in requests and responses.

testsql17

Generate test data from SQL files before testing and clear it after finished.

dft15

Lightweight, zero dependency docker containers for testing (or more).

gogiven15

YATSPEC-like BDD testing framework for Go.

biff14

Bifurcation testing framework, BDD compatible.

gosuite12

Brings lightweight test suites with setup/teardown facilities to testing by leveraging Go1.7's Subtests.

stop-and-go11

Testing helper for concurrency.

Tt8

Simple and colorful test tools.

trial6

Quick and easy extendable assertions without introducing much boilerplate.

envite5

Dev and testing environment management framework.

go-testpredicate5

Test predicate style assertions library with extensive diagnostics output.

go-mysql-test-container3

Golang MySQL testcontainer to help with MySQL integration testing.

arch-go1

Architecture testing tool for Go projects.

omg.testingtools1

The simple library for change a values of private fields for testing.