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 muti-format test result reporting, make utPLSQL easy to run within existing CI/CD pipelines, with native integrations for SonarQube, Jenkins and TeamCity, Azure, GitHub Actions etc.
| 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 |
utPLSQL is created by an open community of passionates, and it embraces a Code of Conduct.
- Search or start a topic at the Organization or the utPLSQL framework GitHub Discussions to ask questions, find support and share ideas
- Search Stack Overflow using the
utplsqltag - Open a new issue on GitHub for bugs or feature requests
- Read the contributing guide if you'd like to get involved
Follow the project on Twitter, Bluesky and LinkedIn for news and announcements.
utPLSQL projects are licensed under the Apache 2.0 license.
See the full About page for project history, contributors and supporters.
Contributions are welcome! See CONTRIBUTING.md and CODE_OF_CONDUCT.md for guidelines.
