Skip to content

2026

Defining code coverage scope with regular expressions in utPLSQL-cli

A coverage report is only useful when the information it provides is meaningful.

Useful information would be: "How much of MY application code is covered by tests?"

Until now, obtaining precise coverage for your project with utplsql-cli was only possible by mapping project files into database objects or by providing a complete list of objects to include or exclude when gathering coverage.

Since version 3.2.2, utplsql-cli lets you describe the scope of the coverage report with regular expressions, so the included/excluded scope follows your naming conventions instead of an object list.

Incorporation of utPLSQL

In August, I wrote on utPLSQL site, that utPLSQL needs a clear vision for its future, and that the project cannot keep going on after-hours goodwill alone. This is the first concrete step in that direction. In August 2026 I incorporated utPLSQL Development Labs Ltd in Cyprus, where I now live, and utPLSQL is moving under its custody.

Before I explain what that means, let me explain how a unit testing framework for PL/SQL ended up needing a company at all.

Testing for exceptions with --%throws

Throwing exceptions is a common practice of handling situations when the program meets unsupported combination of data or conditions. Oracle PL/SQL language provides several mechanisms for raising and capturing exceptions.

utPLSQL provides the --%throws annotation that allows for verification of expected exceptions. Exception testing in utPLSQL is done through this annotation, not through ut.expect(...).

utPLSQL starter tips - Annotations configure tests

You configure utPLSQL test suite in special comments — called annotations — right inside the PL/SQL package specification.

Annotations are comment lines starting with --%. They tell the framework what is a suite, what is a test, what procedures need to be called for setup or cleanup logic. The framework reads them at runtime so no extra configuration is needed.

utPLSQL starter tips - creating test suite

Testing PL/SQL code does not need to mean writing throwaway scripts or using a complicated graphical user interface.

utPLSQL gives you a proper test framework — right inside database.

A utPLSQL test is just a package annotated as --%suite with procedures annotated as --%test. The framework finds them automatically.