dbcleaner
gnomock
Our great sponsors
dbcleaner | gnomock | |
---|---|---|
1 | 5 | |
157 | 1,306 | |
- | - | |
1.8 | 5.9 | |
over 2 years ago | 2 months 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.
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
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.
What are some alternatives?
go-carpet - Tool for show test coverage in terminal for Go source files
ginkgo - A Modern Testing Framework for Go
bro - bro watch files in directory and run tests for them
dockertest - Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.
Gauge - Light weight cross-platform test automation
twint-docker - Docker for Twint
goblin - Minimal and Beautiful Go testing framework
GoAws - AWS (SQS/SNS) Clone for Development testing
testfixtures - Ruby on Rails like test fixtures for Go. Write tests against a real database
assert - :exclamation:Basic Assertion Library used along side native go testing, with building blocks for custom assertions
goc - A Comprehensive Coverage Testing System for The Go Programming Language
is - Professional lightweight testing mini-framework for Go.