datajudge
integresql
datajudge | integresql | |
---|---|---|
1 | 5 | |
38 | 711 | |
- | 3.7% | |
8.1 | 8.9 | |
29 days ago | 3 months ago | |
Python | Go | |
BSD 3-clause "New" or "Revised" 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.
datajudge
-
Ask HN: How do you test SQL?
https://github.com/QuantCo/datajudge
We've also written a blog post trying to illustrate a use case:
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
What are some alternatives?
SS-Unit - A 100% T-SQL based unit testing framework for SQL Server
flyway-spawn-demo - CI demo using Flyway and Spawn
pg_temp - create a temporary, disposable, userland pg database
otj-pg-embedded - Java embedded PostgreSQL component for testing
spark-style-guide - Spark style guide
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.
fugue - A unified interface for distributed computing. Fugue executes SQL, Python, Pandas, and Polars code on Spark, Dask and Ray without any rewrites.
spawn-demo - Demo application to show how Spawn can be integrated in Development and CI
sqlx - 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.
entr - Run arbitrary commands when files change
testcontainers-dotnet - A library to support tests with throwaway instances of Docker containers for all compatible .NET Standard versions.
localstripe - A fake but stateful Stripe server that you can run locally, for testing purposes.