integresql
counterfeiter
Our great sponsors
integresql | counterfeiter | |
---|---|---|
5 | 12 | |
710 | 919 | |
4.9% | - | |
8.9 | 7.5 | |
3 months ago | 11 days 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.
integresql
-
Mock unit test an API that uses postgres or integration test API with a "test" database?
For 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.
-
Mocking database calls without a library?
Mocking has some advantages, but so does using a real database, at work we use https://github.com/allaboutapps/integresql and I quite like the approach that integresql has, since it makes possible to have a fresh database with your dummy data for every test without impacting the execution speed (compared to dropping an re-creating the database).
-
Ask HN: How do you test SQL?
Happy to hear that! When it comes to testing services that depend on PostgreSQL, this is still my preferred solution.
https://github.com/allaboutapps/integresql
disclaimer: author
- IntegreSQL – isolated PostgreSQL databases for integration tests
-
Pg_tmp – Run tests on an isolated, temporary PostgreSQL database
I haven't had a change to try it yet, but IntegreSQL[0] looks like this on steroids. It allows you to create a template (runs migrations and seed dates), and then uses Postgres's built in cloning functionality to maintain a pool of fresh databases. They claim 500ms to clone a database without the pool, and that the pool pretty much hides the latency entirely.
[0]: https://github.com/allaboutapps/integresql
counterfeiter
-
Mocking database calls without a library?
then just replace whole function, don't generate manually the mock '__') or it would get out of hand fast, you can just use codegen that static typed like https://github.com/maxbrunsfeld/counterfeiter
-
Is this a good way to make sure that a mocked function is called inside the Unit Test?
Yes, that's a good way to do that; there are a lot of packages that allow you to mock and spy the calls if you're looking for one that generates the code for you I can recommend counterfeiter, I also have a short blog that covers it.
-
Libraries you use most of your projects?
I prefer https://github.com/maxbrunsfeld/counterfeiter
-
How do you write/generate mocks for testing?
counterfeiter is another tool, it creates mocks, stubs and spies; here is a short blog I wrote covering it.
- Mocking Interfaces in Go with GoMock
- What's the best approach for mocking a function /method?
-
Best/Easiest Rest Framework
for dependency injection I suggest you use https://github.com/maxbrunsfeld/counterfeiter, but if you using really fast database (that can spawn fast using docker and has fast trx/sec) you can use it directly without dependency injection with https://github.com/ory/dockertest
-
Migrating from NodeJS/Typescript into Golang. Any advise for big web application?
Agree with u/mmknightx there is a tool that assist in creating fake or mock classes for your interfaces https://github.com/maxbrunsfeld/counterfeiter
-
How do you control behaviour in mocked interface ?
Another alternative to use would be counterfeiter, it generates a type from your interface that could be used as a mock, stub or spy. I wrote a short post covering that tool if you're interested.
- Slack notification Github action
What are some alternatives?
flyway-spawn-demo - CI demo using Flyway and Spawn
gomock - GoMock is a mocking framework for the Go programming language.
otj-pg-embedded - Java embedded PostgreSQL component for testing
mockery - A mock code autogenerator for Go
testcontainers-go - Testcontainers for Go is 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.
Mmock - Mmock is an HTTP mocking application for testing and fast prototyping
spawn-demo - Demo application to show how Spawn can be integrated in Development and CI
prettybenchcmp - cmd tool for automatic storage and comparison of benchmarks results
entr - Run arbitrary commands when files change
gock - HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽
localstripe - A fake but stateful Stripe server that you can run locally, for testing purposes.
mockhttp - Mock object for Go http.ResponseWriter