Skip to content

Announcements

Changes in release 3.1.12

New features

  • Added support for description in the --%disabled annotation. See documentation. Implemented in: #1183, resolves #610.
  • Added support for native JSON datatype on Oracle 21c. Implemented in #1181, resolves #1114.
  • Added new mather to_be_within( distance|pct ).of_(expoected). See documentation. Implemented in #1076, resolves #77.

Enhancements

  • Improved performance of SQL used to retrieve Coverage sources. Implemented in #1187, resolves #1169.
  • Added ability for utPLSQL to gather coverage on code invoking DBMS_STATS package. Implemented in #1184, resolves #1097, #1094.
  • Fixed typos and improved documentation. Implemented in #1173, #1171

Bug fixes

  • Actual and Expected are now correctly reported when comparing JSON data. Implemented in #1181, resolves #1113.
  • Packages with removed annotations are now correctly recognized as non-utPLSQL packages. Implemented in #1180, resolves #1177.
  • Fixed issues with comparison of nested object structures. Implemented in #1179, resolves #1082, #1083, #1098.

Internal improvements

  • Moved build and test process for utPLSQL from Travis to GithubActions. Implemented in #1175

Downloads

Download v3.1.12 release version here

Changes in release 3.1.11

Enhancements

  • utPLSQL can now be used to generate coverage reports for external tools. See documentation Implemented in: #1079, resolves #1025
  • Enhanced UT_COVERAGE_COBERTURA_REPORTER to better support TFS and GitLab. Implemented in #1137 and #1140, resolves #1107
  • Added support for installation on Oracle 21c - removed dependency on DBMS_OBFUSCATION_TOOLKIT. Implemented in #1112, resolves #1111 and #1127
  • Added support for running utPLSQL framework in parallel-enabled database. Implemented in #1160, resolves #1134

Bug fixes

  • Suite structure is built properly even with other than English TNS settings. Implemented in #1061, resolves #1060
  • Fixed XML content reporting (CDATA) in UT_REALTIME_REPORTER used by SQLDeveloper plugin. Implemented in #1075, resolves #1073
  • Fixed XML content reporting (CDATA) in JUnit reporter - regression. Implemented in #1085, resolves #1084
  • Fixed issue with utPLSQL failing to run coverage reporting when trigger has overlapping name with procedure/function/package/type. Implemented in #1091, resolves #1086
  • Fixed issue with parsing utPLSQL suites with DDL trigger when usign AUTHID clause. Implemented in #1093, resolves #1088

Internal improvements

  • Improved how privilege checks are handled by framework installation. Implemented in #1056, resolves #1050
  • Restructured installation instructions to make it more readable. Implemented in #1063, resolves #1062
  • Updated database requirements in documentation. Implemented in #1065, resolves #1064
  • Removed duplicated call to install profiler tables. Implemented in #1164, resolves #1149
  • Fixed failing internal framework tests on Oracle 21c. Implemented in #1158, resolves #1151
  • Fixed confusing typo in documentation. Resolves #1154
  • Moved build process from travis-ci.org to travis-ci.com. Implemented in #1152
  • Added an example of reporter reporting all expectations, not only the failing ones. Implemented in #1092

Downloads

Download v3.1.11 release version here

PL/SQL Developer plugin released!

Happy new year! Thanks to Simon Martinelli utPLSQL v3+ is now integrated with PL/SQL Developer IDE

Features

  • The Plugin enables PL/SQL Developer to run tests and code coverage with utPLSQL
  • Tests and code coverage can be run for the current user from the tool ribbon or from the context menu on a package or a user
  • Test results shown in a test runner window and the code coverage report will be opened in the default browser

Documentation

See details of plugin usage in readme file

Downloads

  • Download the plugin release from releases page
  • Copy PlsqlDeveloperUtPlsqlPlugin.dll or PlsqlDeveloperUtPlsqlPlugin_x86.dll to the PlugIns directory of your PL/SQL Developer installation

Changes in release 3.1.10

Enhancements

  • utPLSQL test runner is now validating arguments of --%throws annotations at runtime #721 #1033
  • Documented limitations of insignificant spaces comparison in compound data #880
  • utPLSQL will now detect empty annotation cache for schema even with DLL trigger enabled #975
  • Order of procedures and annotation now determines default order of tests in suite #1036

Bug fixes

  • Nested contexts are now properly identified #1034
  • TeamCity test reporter is now including error message #1045

Internal improvements

  • All self-tests for utPLSQL framework can now be executed using test-owner schema #969
  • Misleading rollback warning is no longer showing when running self-tests for utPLSQL #982

Downloads

Download v3.1.10 release version here

Changes in release 3.1.9

New features

Important changes

The value of --%context annotation is no longer representing context name. This value is now context description (displayname). With this change, the --%context annotation is now aligned with --%test and --%suite annotation syntax.

New annotation --%name was introduced to facilitate naming of contexts.

Enhancements

  • Improved documentation for running tests
  • Improved documentation for tags #1003
  • Improved documentation for annotations

Bug fixes

  • Fixed bug with bad stacktrace showing in failing/erroring test #1000
  • Fixed issue with lack of validation for context name #966
  • Fixed problem with install script privilege check for installation with DDL trigger #992
  • Fixed issue with some common column names causing cursor comparison to fail #997
  • Fixed issue with invocation of standalone expectations on cursor #998

Internal improvements

  • Fixed runability of utplsql self-tests #968

New Resources section

We just added a new section to our website: Resources.

We will keep adding all kinds of examples, tutorials, videos, blog posts and other stuff related to utPLSQL to this page, but we might not know everything.

So please, if you find something related to utPLSQL which is publicly (without a paywall) available or if you created something yourself, please let us know!

Changes in release 3.1.8

Download from GitHub

New features

Enhancements

  • Improved framework table private data protection #922 #954
  • Improved install process. It is now unified for installation with both public and private synonyms #957 #954
  • Improved reporting of warnings for integration with SQLDeveloper #964
  • Improved query to retrieve coverage sources #981 #970
  • Improved security around malicious utPLSQL owner name #920

Bug fixes

  • Fixed cursor comparison on Oracle 11.2 #947
  • Fixed issue with retrieving suite data #977 #974 #978
  • Application context is now reset in session after test run #951

Changes in release 3.1.7

New Features

  • CLI is now runnable from Java 8-12 (and probably also upcoming versions)
  • CLI now uses Picocli instead of JCommander. This might have some impact on how parameters are interpreted, for example on windows machines when you define -f=ut_documentation_reporter -o="output.txt" you will have to enclose the "output.txt" part as shown
  • Support for Tags via --tags=tag1[,tag2[,tag3]]parameter (#157)
  • Support for random order of test execution via -r/--random-test-order and -seed/--random-test-order-seed (#139)
  • Ability to enable DBMS_OUTPUT from cli via -D/--dbms_output (#137)

Enhancements

  • Completely removed HikariCP (#158)
  • A warning is shown if orai18n.jar is not on the classpath. This is highly recommended due to some strange behaviour of the jdbc-driver otherwise (#146, #153)

Bugfixes

  • Type mapping (-type_mapping) parameter is now interpreted correctly (#143)

Internal enhancements

  • Improvement of tests
  • Refactoring towards immutability
  • Added some more debug information

Changes in release 3.1.7

Highlights

  • utPLSQL java-api now supports JDK 8-12
  • Support to call Tags
  • Support for random order of test execution

Changes in public API

  • CompatibilityProxy
  • It's possible to instantiate it with an optional assumedUtPlsql version. This replaces the former skipCompatibilityCheck parameter
  • Method getDatabaseVersion is now deprecated in favor of getUtPlsqlVersion and getRealDbPlsqlVersion
  • TestRunner
  • getOptions returns the current TestRunnerOptions now

Internal changes

  • Added several new tests
  • Several small refactorings
  • Additional logging
  • Preparations to completely rewrite the api

Download

https://packagecloud.io/utPLSQL/utPLSQL-java-api/packages/java/org.utplsql/java-api-3.1.7.jar

Maven

<dependency>
  <groupId>org.utplsql</groupId>
  <artifactId>java-api</artifactId>
  <version>3.1.7</version>
</dependency>

Gradle

compile 'org.utplsql:java-api:3.1.7'

utPLSQL v3.1.7 released

## New features

## Enhancements

  • Added optional install with DDL trigger to speed up framework start #901
  • Removed dependency on dbms_utility.name_resolve #569 #885
  • New output buffer table structures improving performance and addressing timeout issues #915

## Bug fixes

  • Fixed ut_realtime_reporter missing warnings in test and suite output structures #936
  • Fixed output_buffer purging error #934
  • Fixed join_by / exclude / include invalid syntax on collection in anydata compare #912
  • Fixed ut_junit_reporter producing invalid output on failing tests with long failure message #927
  • Fixed ut_sonar_test_reporter producing invalid output on failing tests with long failure message #925
  • Fixed ut_coverage_cobertura_reporter producing wrong line breaks which breaks the xml validation against DTD #917
  • Fixed exclude option for ref cursor where column order was not resolved correctly #911
  • Fixed unordered option for ref cursor with null values #914
  • Fixed number precision when selecting from dual #907
  • Fixed ref cursor errors with generated column names #902
  • Fixed ORA-00907 when comparing ref cursors with BINARY_ columns #899
  • Fixed wrong results when comparing CLOBs with to_be_like in Oracle Database 11.2.0.4 due to Oracle Bug 14402514 #891
  • Fixed performance issue with code coverage report on huge PL/SQL code base #882

## Documentation improvements

  • Added install instructions for DDL trigger #874

## Internal enhancements

  • Fixed SQL vulnerability on all input parameters used in dynamic SQL and PL/SQL #921
  • Fixed message id in output buffer #916
  • Included 19c database in self testing #909
  • Introduced testing with multiple schemas and different grants #893
  • Fixed installation script warnings #879