DbSetup - An API for populating a database in unit tests

  •        40

DbSetup allows populating a database before executing automated integration tests (typically, DAO/Repository automated tests). Although DBUnit, which is a great project, allows doing the same thing and much more, it's also harder to use and setup. And in our experience, in 98% of the cases, DBUnit is only used to pre-populate a database before executing every test method. This is the task on which DbSetup concentrates. The philosophy of DbSetup is that DAO tests should not have to setup the database, execute tests, and then remove everything from the database. Instead, a single setup method should be used to delete everything from the database (whatever the previous test put in it, or the initial state of the database tables), and then populate it with the data necessary to execute the test.




Related Projects

Ninja - Ninja is a full stack web framework for Java

  •    Java

Ninja is a full stack web framework for Java. It is made up of libraries that deliver everything. From Html, Json and Xml rendering and parsing to management of different environments, database persistence, testing and much more.

Tactics Squad

  •    C++

Tactics Squad is a real-time tactical game in which the player manages a squad of soldiers in a futuristic environment. It is intended to be a very fun game, focusing mainly on gameplay more than eye candy.

Ninja IDE - A Real Python IDE

  •    Python

NINJA-IDE ("Ninja Is Not Just Another IDE"), is a cross-platform integrated development environment specially design to build Python Applications.

Ninja - Open source C2 server created for stealth red team operations

  •    PowerShell

Ninja C2 is an Open source C2 server created by Purple Team to do stealthy computer and Active directoty enumeration without being detected by SIEM and AVs , Ninja still in beta version and when the stable version released it will contains many more stealthy techinques and anti-forensic to create a real challenge for blue team to make sure all the defenses configured correctly and they can detect sophisticated attacks. Ninja use python to server the payload and control the agents . the agents are based on C# and powershell which can bypass leading AVs . Ninja comunicate with the agents in secure channel encrpyted with AES-256 and the key is not hard coded but randomly generated on the campaign start , every agent connect to the C2 get the key and if the C2 restarted a new key will be used by all old agents and the new. Ninja also randomize the callback URLs for every campaign to bypass static detection.

xaringan - Presentation Ninja 幻灯忍者 · 写轮眼

  •    R

An R package for creating slideshows with remark.js through R Markdown. The package name xaringan comes from Sharingan, a dōjutsu in Naruto with two abilities: the "Eye of Insight" and the "Eye of Hypnotism". A presentation ninja should have these basic abilities, and I think remark.js may help you acquire these abilities, even if you are not a member of the Uchiha clan. If you use RStudio, it is easy to get started from the menu File -> New File -> R Markdown -> From Template -> Ninja Presentation, and you will see an R Markdown example. Press the Knit button to compile it, or use the RStudio Addin Infinite Moon Reader to live preview the slides (every time you update and save the Rmd document, the slides will be automatically reloaded; make sure the Rmd document is on focus when you click the addin). Please see the issue #2 if you do not see the template or addin in RStudio.

copyist - Mocking your SQL database in Go tests has never been easier.

  •    Go

Mocking your SQL database in Go tests has never been easier. The copyist library automatically records low-level SQL calls made during your tests. It then generates recording files that can be used to play back those calls without connecting to the real SQL database. Run your tests again. This time, they'll run much faster, because now they do not require a database connection. Best of all, your tests will run as if your test database was reset to a clean, well-known state between every test case. Gone are the frustrating problems where a test runs fine in isolation, but fails when run in concert with other tests that modify the database. In fact, during playback you can run different test packages in parallel, since they will not conflict with one another at the database level.

ninja-ide - {Ninja-IDE Is Not Just Another IDE}

  •    Python

Ninja-IDE is a cross-platform integrated development environment (IDE) that allows developers to create applications for any purpose making the task of writing software easier and more enjoyable. It's also a secret ninja agency but this doesn't matter right now. Currently version 3.0 is being developed, therefore this branch is unstable. This set of issues lists the tasks we must complete to get to a beta version.

Tactics Editor for Squad Actions

  •    Java

The Tactics Editor for Squad Actions (TESA) is a strategy editor for computer games. It is fully customizable and not fixed for use on one particular game.

Computer Squad Leader

  •    Java

A computer version of the World War 2 tactical boardgame quot;Squad Leaderquot; originally published by The Avalon Hill Games Company. Play any scenario against anyone around the world!

Database Test Suite

  •    Java

This Database Test Suite aims to create database workload test kits used to simulate heavy user loads for OLTP, Decision Support, and e-commerce database transactions. These test kits can also be used to gather performance results for Linux and other

phpchunkit - PHPChunkit - PHPUnit test runner with test chunking capabilities.

  •    PHP

PHPChunkit is a library that sits on top of PHPUnit and adds additional functionality to make it easier to work with large unit and functional test suites. The primary feature is test chunking and database sandboxing which gives you the ability to run your tests in parallel chunks on the same server or across multiple servers. In order to run functional tests in parallel on the same server, you need to have a concept of database sandboxing. You are responsible for implementing the sandbox preparation, database creation, and sandbox cleanup. PHPChunkit provides a framework for you to hook in to so you can prepare your application environment sandbox.

Ninja-ide - Not Just Another IDE for Python

  •    Python

Ninja-IDE is a cross-platform integrated development environment (IDE) that runs on Linux/X11, Mac OS X and Windows desktop operating systems. Ninja-IDE allows developers to create applications for any purpose making the task of writing software easier and more enjoyable.It is specially designed for Python Applications Development.

fruit-ninja - the fruit ninja game by js

  •    Javascript

the fruit ninja game by js

awesome-ninja-admins - :dizzy: A collection of awesome lists, manuals, blogs, hacks, one-liners and tools for Awesome Ninja Admins


This list is a collection of various materials that I use every day in my work. It contain a lot of useful information gathered in one piece. It is intended for everyone and anyone who is or wants to become a Ninja Admin (and not only). This is not a final and full version - I update it on an ongoing basis.

SQL Load Test


This tool takes a SQL Profiler trace file and generates a unit test that replays the same sequence of database calls found in the trace file. The unit test is designed for Visual Studio Load Test. The code generated is easily modifiable so that data variation can be included.

Jailer - Database Subsetting and Browsing Tool

  •    Java

Database Subsetting and Browsing Tool. Exports consistent, referentially intact row-sets from relational databases (JDBC). Removes data w/o violating integrity. Generates DbUnit datasets, hierarchically structured XML and topologically sorted SQL-DML.

graviton - Graviton Database: ZFS for key-value stores.

  •    Go

Graviton Database is simple, fast, versioned, authenticated, embeddable key-value store database in pure GOLANG. Graviton Database in short is like "ZFS for key-value stores" in which every write is tracked, versioned and authenticated with cryptographic proofs. Additionally it is possible to take snapshots of database. Also it is possible to use simple copy,rsync commands for database backup even during live updates without any possibilities of database corruption. Graviton is currently alpha software. Almost full unit test coverage and randomized black box testing are used to ensure database consistency and thread safety. The project already has 100% code coverage. A number of decisions such as change,rename APIs, handling errors, hashing algorithms etc. are being evaluated and open for improvements and suggestions.

dockertest - Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work

  •    Go

When developing applications, it is often necessary to use services that talk to a database system. Unit Testing these services can be cumbersome because mocking database/DBAL is strenuous. Making slight changes to the schema implies rewriting at least some, if not all of the mocks. The same goes for API changes in the DBAL. To avoid this, it is smarter to test these specific services against a real database that is destroyed after testing. Docker is the perfect system for running unit tests as you can spin up containers in a few seconds and kill them when the test completes. The Dockertest library provides easy to use commands for spinning up Docker containers and using them for your tests.Using Dockertest is straightforward and simple. Check the releases tab for available releases.

parallel_tests - Rails: 2 CPUs = 2x Testing Speed for RSpec, Test::Unit and Cucumber

  •    Ruby

Speedup Test::Unit + RSpec + Cucumber + Spinach by running parallel on multiple CPU cores. ParallelTests splits tests into even groups (by number of lines or runtime) and runs each group in a single process with its own database. ParallelTests uses 1 database per test-process.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.