github utPLSQL/utPLSQL v3.1.0
utPLSQL v3.1.0

latest releases: v3.1.14, v3.1.13, v3.1.12...
6 years ago

Important Notice

Starting with this release, utPLSQL-sql-cli is no longer supported.
Use utPLSQL-cli release 3.1.0 or above to interact with this and upcoming versions of utPLSQL.

Changes in this release

Enhancements

Reporting

  • Added support for extended block coverage on Oracle 12.2 and above. Coverage reporters will now indicate partly covered lines (where applicable by coverage format).
  • Added new ut_tfs_junit_reporter for MS Team Foundation Server to support old JUnit xml format
  • Added new coverage reporter ut_coverage_cobertura_reporter
  • Fixed compatibility issues with ut_xunit_reporter. The reporter now conforms to the format specification.
  • Added ut_junit_reporter as a base for ut_xunit_reporter. The ut_xunit_reporter remains active for backward compatibility but is considered depreciated
  • Added reporting of differences when comparing cursors, oracle object and table types
  • Aligned ut_documentation_reporter to display tests annotated--%disabled as DISABLED
  • Added support for reporters that don't provide output to the API (reporters saving data to DB)
  • Improved API so that it's possible to support custom reporters from utPLSQL-java-api without code changes

Annotations

  • added throws annotation to simplify writing tests for code that throws an exception
  • added context to enable grouping of tests into sub-suite in a test suite package
  • added warnings on invalid/misplaced annotations
  • added support for multiple declarations of before/after procedures
  • added propagation of rollback type defined on parent suite within suitepath

Expectations

  • Added have_count matcher for checking cursor rows/collection elements count
  • Added include() and exclude() extensions to cursor and object/collection data comparison
  • Added diff functionality for cursor, object and collection data
  • When comparing cursors, column data-type is now also checked for equality
  • #548 - Changed behavior of execution of ut.expect() on closed cursor.
  • Added support for cursors with implicitly named columns

General improvements

  • Output buffer for reporting is now reporter-agnostic.
  • cli is no longer not interacting with output buffer but uses reporters to retrieve data instead.
  • Added ability to mark expectation syntax as deprecated and report warnings on deprecation
  • Added ability to get a list of annotations for a schema
  • Refactoring of annotation parsing
  • Refactoring of suite building
  • Migrated part of old script-based tests to new utPLSQL v3 tests
  • Documentation fixes and improvements
  • Reporters now provide a method to get description
  • Test execution continues even when encountered Existing state of packages was discarded/invalidated exceptions (ORA-04068/ORA-04061). The whole suite will execute, test result reports will be available and the exception will be re-thrown to the user after the run was finished. (#504)

Bug-fixes:

  • #511 Coverage schema had to be explicitly provided, even when using a_include_objects
  • #514 / #516 utPLSQL fails to run, when one of suite packages has no newline between --%suite and procedure-specific annotations.
  • #539 Fixed false-negative code coverage reporting on labelled end loop elements
  • #547 Fixed issue with invalid suite grouping when running xunit_reporter
  • #562 Code coverage was always showing first report gathered in a session
  • #572 Wrong format of time in XUnit_reporter when running on German locale (using comma as decimal separator)
  • #601 Fixed issue with wrong exception getting thrown when suite failed and there was a pending distributed transaction
  • #568 Fixed file-mapper issue where two files were mapped into the same object and caused ORA-00001: unique constraint (UTP3.UT_COVERAGE_SOURCES_TMP_PK) violated

Don't miss a new utPLSQL release

NewReleases is sending notifications on new releases.