10 Repos
Frameworks for unit testing, regression testing, and finding logic bugs.
Explore 10 awesome GitHub repositories matching part of an awesome list · Database Testing. Refine with filters or upvote what's useful.
Testcontainers for Java is a library for launching and managing disposable Docker containers to provide isolated dependencies for automated tests. It provides specialized provisioners for containerized databases, a manager for WebDriver browser containers, and an orchestrator for deploying multi-container applications via Docker Compose. The project ensures reproducible data states through database schema initialization and provides integration with JUnit to manage the lifecycle of external services. It supports automated browser testing by launching Selenium containers with the ability to re
Allows running real database engines in Docker containers during tests to replace mocks or in-memory databases.
Hypothesis is a Python property-based testing library and data generation engine. It enables the discovery of edge cases and bugs by generating a wide range of randomized inputs based on defined strategies and shrinking complex failing examples to their smallest possible form. It also functions as a state machine testing framework to verify system behavior across sequences of interdependent operations. The project features a fuzzing integration layer that converts raw byte buffers from coverage-guided fuzzers into structured test cases. It includes a persistence mechanism to store and synchro
Implements a specialized storage mechanism to track and manage the history of test cases and failures.
Hibernate ORM ist ein Java-Object-Relational-Mapper und eine vollständige Implementierung der Jakarta Persistence API. Es dient als SQL-Datenbank-Abstraktionsschicht, die Java-Objektmodelle in relationale Datenbankschemata übersetzt, um Datenpersistenz und Lebenszyklen zu verwalten. Das Framework zeichnet sich durch ein Multi-Tenant-Datenisolations-Framework zur Trennung von Kundendaten innerhalb einer einzigen Datenbankinstanz aus. Es verfügt zudem über einen Datenbankschema-Generator, der automatisch relationale Strukturen basierend auf Entity-Mappings erstellt und aktualisiert. Das System deckt breite Funktionsbereiche ab, darunter Transaktionsmanagement, Concurrency-Locking-Kontrolle und temporale Datenverfolgung für Audit-Logging. Es bietet Tools zur Optimierung des Datenabrufs durch Entity-Graph-Strategien und unterstützt fortgeschrittene Datentypen wie Vektordaten und nationalisierte Zeichen. Das Projekt enthält eine umfassende Suite von Test-Utilities für die Persistenzschicht, einschließlich Datenbank-Dialekt-Filterung und Compliance-Tests für Spezifikationen.
Includes utilities to execute or skip specific tests dynamically based on the database dialect in use.
This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin
Ensures data persistence layers function correctly by running tests against real database engines in containers.
Tortoise ORM is an asynchronous object-relational mapper for Python that mirrors Django's model and queryset API while running on asyncio. It defines database tables as Python classes with typed fields and supports foreign key, many-to-many, and one-to-one relations, providing a chainable query API for filtering, annotating, grouping, and prefetching related objects without blocking the event loop. The ORM includes a built-in migration engine that detects model changes, generates migration files, and applies or reverts schema changes through a command-line tool. It connects to PostgreSQL, MyS
Allows skipping tests based on the connected database's supported features or dialect.
Testcontainers for .NET ist eine Docker-Testbibliothek und ein Integrationstest-Framework, das für die Verwaltung des Lebenszyklus von kurzlebigen Containern entwickelt wurde. Es bietet High-Level-Abstraktionen als Docker-API-Wrapper zur Bereitstellung ephemerer Infrastruktur und ersetzt Mocks durch echte Datenbank-, Messaging- und Suchmaschineninstanzen, um isolierte und reproduzierbare Testumgebungen zu gewährleisten. Das Projekt zeichnet sich durch ein Builder-Konfigurations-Container-Muster und einen dynamischen Port-Binding-Mechanismus aus, der Kollisionen während der gleichzeitigen Testausführung verhindert. Es ermöglicht zuverlässige Service-zu-Service-Kommunikation via virtueller Netzwerk-Orchestrierung und Netzwerk-Aliasing und stellt die Serviceverfügbarkeit durch Polling-basierte Bereitschaftsprüfungen für HTTP-Endpunkte und TCP-Ports sicher. Die Bibliothek bietet spezialisierte Module für relationale, NoSQL- und Vektor-Datenbanken sowie Messaging-Broker und Cloud-Service-Emulatoren. Ihr Funktionsumfang erstreckt sich auf Container-Image-Konfiguration, Log-Sammlung und die Simulation von Netzwerkbedingungen zur Überprüfung der Systemresilienz. Sie unterstützt die Konnektivität zu lokalen und Remote-Docker-Runtimes durch standardisierte Umgebungsvariablen und Konfigurationsdateien.
Provisions disposable relational, NoSQL, or vector database instances in Docker to verify data persistence and query logic.
Automated testing to find logic and performance bugs in database systems
Automated testing to find logic bugs in DBMS implementations.
PostgreSQL Unit Testing Suite
Unit testing framework for PostgreSQL.
Regression Testing your SQL queries
Regression testing tool for SQL queries.
DbFit is a database testing framework that supports easy test-driven development of your database code.
Framework for test-driven development of database code.