Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build status Quality Gate


A maven plugin for running Unit Tests with utPLSQL v3+.


This plugin is compatible with utPLSQL 3.1.0+.


  • Java SE Runtime Environment 8
  • Maven Version 3.5+
  • Oracle JDBC driver


Skipping Tests

To skip running the tests for a particular project, set the skipUtplsqlTests property to true.


You can also skip the tests via the command line by executing the following command:

mvn install -DskipTests

Skipping by Default

If you want to skip tests by default but want the ability to re-enable tests from the command line, you need to go via a properties section in the pom:


This will allow you to run with all tests disabled by default and to run them with this command:

mvn install -DskipUtplsqlTests=false


Please refer to the following usage example for the parameters descriptions:

<project xmlns=""


        <!-- URL of the connection to the database. -->
        <!-- Can also be passed as execution parameters. -->
        <!-- -DdbUrl="jdbc:oracle:thin:@" -->
        <!-- Database connection user. -->
        <!-- -DdbUser="user" -->
        <!-- Database connection password. -->
        <!-- -DdbPassword="password" -->

                            <!-- REQUIRED PARAMETERS -->

                            <!-- A list of tests suite paths. -->
                            <!-- The path(s) can be in one of the following formats: -->
                            <!--     schema[.package[.procedure]] -->
                            <!--     schema:suite[.suite[.suite][...]][.procedure] -->
                            <!-- Both formats can be mixed in the list. -->
                            <!-- If only schema is provided, then all suites -->
                            <!-- owned by that schema are executed. -->

                                    <!-- Path to project source files. -->
                                    <!-- File patterns to include. -->

                                    <!-- Path to project test files. -->
                                    <!-- File patterns to include. -->

                            <!-- OPTIONAL PARAMETERS -->

                            <!-- Continue in case of failure. -->
                            <!-- Defaults to: ${maven.test.failure.ignore} -->

                            <!-- Skip the utPLSQL version compatibility check. -->
                            <!-- Defaults to: false -->

                            <!-- Skip the tests -->
                            <!-- Defaults to: false -->

                            <!-- Enables DBMS_OUTPUT -->
                            <!-- Defaults to: false -->

                            <!-- A list of tags to run. -->

                            <!-- Enables random order of test executions. -->
                            <!-- Sets the seed to use for random test execution order. If set, it sets -random to true. -->

                            <!-- Comma-separated object list to include in the coverage report. -->
                            <!-- Format: [schema.]package[,[schema.]package ...]. -->
                            <!-- See coverage reporting options in framework documentation. -->

                            <!-- Comma-separated object list to exclude from the coverage report. -->
                            <!-- Format: [schema.]package[,[schema.]package ...]. -->
                            <!-- See coverage reporting options in framework documentation. -->

                            <!-- List of reporters. -->
                            <!-- You can pass the name of the reporter and/or the output file -->
                            <!-- of the reporter and/or if the report is logged to the console. -->
                            <!-- If you don't pass any reporter, UT_DOCUMENTATION_REPORTER will be used. -->
                            <!-- This is a current list of the names of the reporters, -->
                            <!-- see UtPLSQL documentation in order to check the final list: -->
                            <!--     UT_DOCUMENTATION_REPORTER -->
                            <!--     UT_COVERAGE_HTML_REPORTER -->
                            <!--     UT_TEAMCITY_REPORTER -->
                            <!--     UT_XUNIT_REPORTER -->
                            <!--     UT_COVERALLS_REPORTER -->
                            <!--     UT_COVERAGE_SONAR_REPORTER -->
                            <!--     UT_SONAR_TEST_REPORTER -->
                                    <!-- The file output path. -->
                                    <!-- Indicates if should write to console. -->

                            <!-- Custom source code mapping options. -->
                            <!-- See coverage reporting options in framework documentation. -->
                                    <type>package body</type>

                            <!-- Custom test code mapping options. -->
                            <!-- See coverage reporting options in framework documentation. -->
                                    <type>package body</type>

More project samples are available in the src/test/resources-its/org/utplsql/maven/plugin/UtPlsqlMojoIT directory:

  • simple-project: Minimalist test project with standard project directory structure.
  • regex-project: Overrides project directory structure and use additional parameters (sourcesRegexExpression, testsRegexExpression, ...), to tell utPLSQL how project files should be mapped into database objects.
  • type-mapping-project: Example how to use regex and custom type parameters together.
  • owner-param-project: Demonstrates how to use sourcesOwner and testsOwner parameters.

Comparison with utPLSQL CLI

CLI short parameter CLI long parameter Maven XML path
-c --color
-p --path paths.path
-f --format
-o reporters.reporter.fileOutput
-s reporters.reporter.consoleOutput
-scc --skip-compatibility-check skipCompatibilityCheck
--tags tags.tag
-D --dbms_output dbmsOutput
-r --random-test-order randomTestOrder
-seed --random-test-order-seed randomTestOrderSeed
-exclude excludeObject
-include includeObject
-owner sourcesOwner
-regex_expression sourcesRegexExpression
-type_mapping list of testsCustomTypeMapping.customTypeMapping
-owner_subexpression sourcesOwnerSubexpression
-type_subexpression sourcesTypeSubexpression
-name_subexpression sourcesNameSubexpression
-owner testsOwner
-regex_expression testsRegexExpression
-type_mapping list of testsCustomTypeMapping.customTypeMapping
-owner_subexpression testsOwnerSubexpression
-type_subexpression testsTypeSubexpression
-name_subexpression testsNameSubexpression


Maven plugin for running Unit Tests with utPLSQL v3





No packages published