Skip to content

About

utPLSQL is a set of free-to-use, open-source frameworks and tools for unit testing Oracle Database PL/SQL code, inspired by the JUnit and RSpec family of frameworks.

It lets you write and run automated tests for anything that can be executed and observed from PL/SQL - packages, functions, procedures, triggers, views, and beyond.

Tests are defined with simple annotations and can be structured into hierarchies of suites, making tests easier to group into logical collections. A rich variety of matchers enables data comparison, including complex types such as objects, collections and cursors, while automatic, configurable transaction control keeps every test isolated and repeatable.

Built-in code coverage reporting and multi-format test result reporting make utPLSQL easy to run within existing CI/CD pipelines, with native integrations for SonarQube, Jenkins, TeamCity, Azure DevOps, GitHub Actions and more.

Frameworks and tools

Project Description What's new? Something broken?
utPLSQL Core framework — install and run unit tests in Oracle releases report it here
utPLSQL-cli Command-line client for running tests from CI/CD pipelines releases report it here
utPLSQL-maven-plugin Maven plugin for running utPLSQL tests releases report it here
utPLSQL-SQLDeveloper SQL Developer extension releases report it here
utPLSQL-PLSQL-Developer PL/SQL Developer extension releases report it here
utPLSQL-java-api Java API for connecting to utPLSQL releases report it here
utPLSQL-dotnet-api .NET API for connecting to utPLSQL report it here
utPLSQL-demo-project Demonstration project showcasing running utPLSQL tests in GitHub Actions with dockerized Oracle DB report it here

Community

utPLSQL is created by a community of passionate engineers and embraces a Code of Conduct.

Follow the project on X, Bluesky and LinkedIn for news and announcements.

Sponsorship

utPLSQL is free and open source (Apache 2.0). Sponsorship funds maintainer time, compatibility with new Oracle versions and platforms, documentation, and new features.

If you are interested in sponsoring or supporting the project as: - Organization: you may choose between recognition tiers, and commercial support with priority triage and consultation hours - Individual: we welcome donation of any amount, one-time or monthly

Become a sponsor

License

utPLSQL projects are licensed under the Apache 2.0 license.

Stewardship

utPLSQL is stewarded by utPLSQL Development Labs Ltd, which holds the utPLSQL name, branding and project assets, and manages sponsorships and funded development. Contributors retain copyright of their contributions, which are licensed under the Apache 2.0 license. See the announcement for details.

History

Framework history

While the framework exists since 1999, the current version is a consequence of a complete rewrite done in 2016 by passionate developers, using the object-oriented capabilities of the Oracle database to make it more aligned with other testing frameworks (e.g. JUnit for Java, RSpec for Ruby).

This had significant impact on the test code syntax and how the framework is used.

In 2026, utPLSQL Development Labs Ltd was established to provide a sustainable legal and financial foundation for the project (announcement, background).

Gratitude to creators, contributors and maintainers of previous versions of the framework
- Steven Feuerstein - Initial Author - Chris Rimmer - Patrick Barel - Paul Walker - and others

Major Contributors

Name GitHub Comments
Jacek Gebal jgebal Project lead, admin, core PL/SQL framework, pipelines, expectations, reporters, annotations, cache
Pavel Kaplya Pazus Core PL/SQL framework, design, annotations, pipelines
Lukasz Wasylow lwasylow Core PL/SQL framework, demo project
Samuel Nitsche pesse utPLSQL-java-api, utPLSQL-cli
Philipp Salvisberg utPLSQL-SQLDeveloper-extension
Simon Martinelli utPLSQL-PLSQL-Developer plugin, utPLSQL-cli
Vinicius Avellar viniciusam utPLSQL-java-api, maven-plugin, utPLSQL-cli
Robert Love rlove
David Pyke Shoelace

Many thanks to all contributors across utPLSQL projects.

Contact

For help with using utPLSQL, bug reports and feature ideas, please use GitHub Discussions.


utPLSQL is free open-source software, built by its maintainers and contributors. Sustainable maintenance and development requires funding.

  • Do you want to support the project?
  • Is your company looking for commercial support from the project?

Become a sponsor