JDBDT (Java Database Delta Testing) is a library for database test automation.
Visit http://jdbdt.org for reference.
License
JDBDT is open-source software under the terms of the MIT License.
Versions prior to 0.12 were released under the terms of the Eclipse Public License v 1.0.
Releases
JDBDT releases are available from Maven Central and GitHub.
Dependencies
JDBDT is self-contained (it uses the Java 8 SE API only).
Compilation
Requirements:
- Maven 3.0 or higher
- Java 8 compiler or higher
Commands:
git clone git@github.com:JDBDT/jdbdt.git
cd jdbdt
mvn install
Change Log
1.4.x
Features:
Bug fixes:
Maintenance:
- Standard maintenance tasks (dependency updates, minor adjustments, etc)
1.3.x
Features:
- #61 - CSV data set import / export
- #60 - getAutocommit() / setAutoCommit() convenience methods
- #56 - LIMIT support for QueryBuilder
1.2.x
Features:
- #47 - JDBDT.database() variants using javax.sql.DataSource
- #52 - Var-args method variants in JDBDT facade
Maintenance:
- Standard maintenance tasks (dependency updates, minor adjustments, etc)
1.1.x
Features:
- #5 - Database exception logging
- #33 - SQL statement execution through JDBDT.execute
- #42 - Partial support for case-sensitive column names
- #43 - DataSet.toString() utility method
Maintenance:
- Standard maintenance tasks (dependency updates, minor adjustments, etc)
1.0.x
API:
- #21 - Data sets can now be used for table updates/deletes.
- #25 - DataSource.getColumns() now available.
Continuous integration:
- #18 - Now using AppVeyor for Windows builds
- #19 - Travis CI: also MacOS builds
- #20 - Travis CI: also Java 9 builds
- #22 - Travis CI: using mysql service if available
- #23 - Travis CI: using postgresql service if available
- #24 - Travis CI: SonarQube add-on only for standard Linux build
- #28 - Fixed broken Java 9 build (1.0.1)
- #29 - Coverity scan during Travis build (1.0.1)
Site:
Maintenance:
- #30 - Stopped using thread-local data (1.0.1)
- #36 - Transferred ownership to JDBDT organisation (1.0.5)
- Standard maintenance tasks (dependency updates, minor adjustments, etc)
0.12
Slight API adjustments:
- #9 - API cleanup
- #15 - Let assertTableExists/DoesNotExist take the table name as argument
- #16 - Variant of drop operation supplying database handle and table name
Maintenance:
- #13 - Missing reference documentation in site for table dropping / table existence assertions
- #14 - Start using MIT license from 0.12 onwards
0.11
Features:
- #4 - Support for table dropping / table existence assertions
- #10 - Support for compressed log files (GZIP)
Maintenance:
- #6 - SonarQube integration during Travis build
- #7 - Adapt PostgreSQL test code (postgresql-embedded 2.x version features)
- #8 - Let Travis cache Maven repository
- #11 - Optionally run PIT mutation tests
0.10
- #3: ColumnFillerException should also extend JDBDTRuntimeException
- Misc. maintenance / refactoring / handling of SonarQube issues
0.9
- #2 - DataSource.setSnapshot() clears the contents of previous snapshot set
- Exception hiearchy revised:
JDBDTRuntimeException
now base class for runtime exceptions, newUnsupportedOperationException
andInternalErrorException
classes. - Misc. documentation/site adjustments.
0.8
- Builder pattern now more properly used for tables (
TableBuilder
). - Improved handling of database errors.
0.7
- Database insertions now done in batch mode.
- Validation of savepoint support.
- Miscellaneous maintenance (code style, Javadoc, site).
0.6
populateIfChanged
,changed
: new facade methods.- Improved handling of reusable/non-reusable statements.
- Documentation adjustments.
0.5
DataSetBuilder
: inhibit re-seeding of PRNG, and compute PRNG seed from data source columns.- Small adjustements to web site.
- Other small adjustments.
0.4
- Logging improvements.
0.3
- Bug fixes & improvements when handling array data (e.g. BINARY) from/to database.
- A few documentation improvements.
0.2
DataSet
:head
andtail
methods respectively renamed tofirst
andlast
.ColumnFillerException
introduced to signal errors during column filler execution.- Documentation improvements (site pages and Javadoc).
0.1
Initial release.