SaaSHub helps you find the best software and product alternatives Learn more →
Top 18 Go integration-testing Projects
-
dockertest
Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
inbucket
Disposable webmail server (similar to Mailinator) with built in SMTP, POP3, RESTful servers; no DB required.
-
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 💻
-
venom
🐍 Manage and run your integration tests with efficiency - Venom run executors (script, HTTP Request, web, imap, etc... ) and assertions (by ovh)
-
tracetest
🔭 Tracetest - Build integration and end-to-end tests in minutes, instead of days, using OpenTelemetry and trace-based testing.
-
go-food-delivery-microservices
🍕 A practical food delivery microservices, built with golang, domain-driven design, cqrs, event sourcing, vertical slice architecture, event-driven architecture, and the latest technologies.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
shop-golang-microservices
Practical microservices based on different software architecture and technologies like Golang, CQRS, Vertical Slice Architecture, Docker, RabbitMQ, OpenTelemetry, Postgresql, ...
-
mockaroo
Mock-A-🦘 (mock-aa-roo) a comprehensive HTTP/HTTPS interface mocking tool for all your development and testing needs!
-
ddd-golang-project
This project, written in Go, encapsulates a simplified interpretation of Domain-Driven Design (DDD) principles
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
I am using https://github.com/ory/dockertest for tests, specifically for databases. Is there any advantage to use Testcontainers?
It's complaining about a file missing in $GOPATH/pkg... but I'm not sure how do I get the packages its asking for. Things I have tried: - running go mod tidy - running go get -u github.com/cucumber/godog (hoping it would add the files to pkg/mod/... - Uninstalled and installed Go again.
Project mention: Ask HN: What's your favorite software testing framework and why? | news.ycombinator.com | 2023-05-21You can also load fixtures in database directly, work with Kafka queues both as a producer (e.g. write an event to a Kafka queue, wait a few seconds and see that it was consumed by the service you test, and that some side effects can be observed) or as a consumer (e.g. make sure after an HTTP call, an event was correctly pushed to a queue), or even read a mailbox in IMAP to check that your service correctly send an email.
It's a bit rough on the edges sometimes, but I'd never go back on writing integration tests directly in my programming language. Declarative is the way to go.
[1]: https://github.com/ovh/venom
Code Example
Project mention: go-ecommerce-microservices: A practical e-commerce microservices, built with cqrs, event sourcing, vertical slice architecture, event-driven architecture. | /r/golang | 2023-08-26The go-ecommerce-microservices project source code can be found at https://github.com/mehdihadeli/go-ecommerce-microservices
Project mention: Mock unit test an API that uses postgres or integration test API with a "test" database? | /r/node | 2023-12-08For the case of PostgreSQL I've found IntegreSQL and its Javascript client really helpful because it can create a copy of the database per test case, which it helps to write integration tests with real DB calls.
Project mention: Setting up PostgreSQL for running integration tests | news.ycombinator.com | 2024-04-19I am using TestContainers, what basically is able to run a Docker image of PostgreSQL, abstracting a lot of details. You can find a working example of this setup for integration tests using Go, testify and PosgreSQL here: https://github.com/dherik/ddd-golang-project
For Java services using MySQL, I was able to use just the H2 database (in-memory) many times. Does a decent job and it's very compatible with MySQL. If you try to avoid specific features from the databases, this in-memory database can do a decent (and fast) job running integration tests.
Go integration-testing related posts
- Implementing OTel Trace Context Propagation Through Message Brokers with Go
- Setup and Teardown of Tracetest Tests with Test Suites
- Automating Tracetest Tests via Typescript or Javascript
- Sumo Logic and Tracetest: AI-Driven Observability Meets Testing
- Synthetic Monitoring with the Tracetest GitHub Action
- Level Up Node.js E2E and Integration Testing with OpenTelemetry
- Tracetest open source trace-based testing tool is in Open Beta!!
-
A note from our sponsor - SaaSHub
www.saashub.com | 24 Apr 2024
Index
What are some of the best open-source integration-testing projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | dockertest | 3,960 |
2 | godog | 2,188 |
3 | inbucket | 1,548 |
4 | gnomock | 1,306 |
5 | venom | 974 |
6 | tracetest | 875 |
7 | go-food-delivery-microservices | 749 |
8 | integresql | 710 |
9 | go-txdb | 619 |
10 | endly | 255 |
11 | shop-golang-microservices | 204 |
12 | govcr | 163 |
13 | probe | 28 |
14 | mockaroo | 22 |
15 | integration | 8 |
16 | gogenswagger | 5 |
17 | suspect | 0 |
18 | ddd-golang-project | 0 |
Sponsored