gnomock
dbcleaner
Our great sponsors
gnomock | dbcleaner | |
---|---|---|
5 | 1 | |
1,305 | 157 | |
- | - | |
3.4 | 1.8 | |
7 days ago | over 2 years ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gnomock
-
How to unit test your database interactions with Docker
https://github.com/orlangure/gnomock does this pretty well, but I liked your solution too, it is neat.
-
Writing tests for APIs
gnomock https://github.com/orlangure/gnomock - like testcontainers
- Python/Django to Golang questions
-
Beginner-friendly resources to learn integration tests for MongoDb based server.
Try gnomock (https://github.com/orlangure/gnomock). It creates a mongodb container with a random port which you can use from your go tests. See project readme for an example (it uses postgres but it is very similar to mongodb).
-
How to mock DB for unit tests?
You could check out Gnomock (https://github.com/orlangure/gnomock). It offers a different approach than what you asked, but maybe it'll suit your use case. It allows to easily setup a real DB like postgres in a docker container and then delete ot when tests are done.
dbcleaner
-
The Big Unit Test Misunderstanding
It is not hard to isolate and stub a database the problem is you will not catch a lot of errors, e.g. writing a 40 char string into a VCHAR(10), DateTime conversations, ...
In Ruby on Rails it is quite common to use a real database in the unit tests. Even before containers came out and it is still fast (yes, less than 1 second).
In rails you use the same database instance for all the tests, so you do not have spin up a database instance for every case. Instead you use a database cleaner.
There also exists a JS implementation: https://github.com/khaiql/dbcleaner
What are some alternatives?
ginkgo - A Modern Testing Framework for Go
go-carpet - Tool for show test coverage in terminal for Go source files
dockertest - Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.
bro - bro watch files in directory and run tests for them
twint-docker - Docker for Twint
Gauge - Light weight cross-platform test automation
GoAws - AWS (SQS/SNS) Clone for Development testing
goblin - Minimal and Beautiful Go testing framework
assert - :exclamation:Basic Assertion Library used along side native go testing, with building blocks for custom assertions
testfixtures - Ruby on Rails like test fixtures for Go. Write tests against a real database
is - Professional lightweight testing mini-framework for Go.
goc - A Comprehensive Coverage Testing System for The Go Programming Language