Go-lang Testing

Back

1. apitest

Simple and extensible behavioural testing library for REST based services or HTTP handlers that supports mocking external http calls and rendering of sequence diagrams.

2. assert

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

3. badio

Extensions to Go's `testing/iotest` package.

4. baloo

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

5. biff

Bifurcation testing framework, BDD compatible.

6. charlatan

Tool to generate fake interface implementations for tests.

7. commander

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

8. covergates

Self-hosted code coverage report review and management service.

9. cupaloy

Simple snapshot testing addon for your test framework.

10. dbcleaner

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

11. dsunit

Datastore testing for SQL, NoSQL, structured files.

12. embedded-postgres

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

13. endly

Declarative end to end functional testing.

14. fixenv

Fixture manage engine, inspired by pytest fixtures.

15. flute

HTTP client testing framework.

16. frisby

REST API testing framework.

17. ginkgo

BDD Testing Framework for Go.

18. gnomock

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

19. go-carpet

Tool for viewing test coverage in terminal.

20. go-cmp

Package for comparing Go values in tests.

21. go-hit

Hit is an http integration test framework written in golang.

22. go-mutesting

Mutation testing for Go source code.

23. go-testdeep

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

24. go-testpredicate

Test predicate style assertions library with extensive diagnostics output.

25. go-vcr

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

26. goblin

Mocha like testing framework fo Go.

27. goc

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

28. gocheck

More advanced testing framework alternative to gotest.

29. GoConvey

BDD-style framework with web UI and live reload.

30. gocrest

Composable hamcrest-like matchers for Go assertions.

31. godog

Cucumber or Behat like BDD framework for Go.

32. gofight

API Handler Testing for Golang Router framework.

33. gogiven

YATSPEC-like BDD testing framework for Go.

34. gomatch

library created for testing JSON against patterns.

35. gomega

Rspec like matcher/assertion library.

36. GoSpec

BDD-style testing framework for the Go programming language.

37. gospecify

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

38. gosuite

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

39. gotest.tools

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

40. Hamcrest

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

41. httpexpect

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

42. is

Professional lightweight testing mini-framework for Go.

43. jsonassert

Package for verifying that your JSON payloads are serialized correctly.

44. omg.testingtools

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

45. restit

Go micro framework to help writing RESTful API integration test.

46. schema

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

47. stop-and-go

Testing helper for concurrency.

48. testcase

Idiomatic testing framework for Behavior Driven Development.

49. testfixtures

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

50. Testify

Sacred extension to the standard go testing package.

51. testmd

Convert markdown snippets into testable go code.

52. testsql

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

53. testza

Full-featured test framework with nice colorized output.

54. trial

Quick and easy extendable assertions without introducing much boilerplate.

55. Tt

Simple and colorful test tools.

56. wstest

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

57. counterfeiter

Tool for generating self-contained mock objects.

58. genmock

Go mocking system with code generator for building calls of the interface methods.

59. go-localstack

Tool for using localstack in AWS testing.

60. go-sqlmock

Mock SQL driver for testing database interactions.

61. go-txdb

Single transaction based database driver mainly for testing purposes.

62. gock

Versatile HTTP mocking made easy.

63. gomock

Mocking framework for the Go programming language.

64. govcr

HTTP mock for Golang: record and replay HTTP interactions for offline testing.

65. hoverfly

HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.

66. httpmock

Easy mocking of HTTP responses from external resources.

67. minimock

Mock generator for Go interfaces.

68. mockery

Tool to generate Go interfaces.

69. mockhttp

Mock object for Go http.ResponseWriter.

70. mockit

Allows functions and method easy mocking, without defining new types; it's similar to Mockito for Java.

71. timex

A test-friendly replacement for the native `time` package.

72. go-fuzz

Randomized testing system.

73. gofuzz

Library for populating go objects with random values.

74. Tavor

Generic fuzzing and delta-debugging framework.

75. cdp

Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it.

76. chromedp

a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol.

77. ggr

a lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs.

78. playwright-go

browser automation library to control Chromium, Firefox and WebKit with a single API.

79. rod

A Devtools driver to make web automation and scraping easy.

80. selenoid

alternative Selenium hub server that launches browsers within containers.

81. failpoint

An implementation of [failpoints](https://www.freebsd.org/cgi/man.cgi?query=fail) for Golang.