Announcements¶
Changes in release 3.1.12
New features
- Added support for description in the
--%disabledannotation. See documentation. Implemented in: #1183, resolves #610. - Added support for native
JSONdatatype on Oracle21c. 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
JSONdata. 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.dllorPlsqlDeveloperUtPlsqlPlugin_x86.dllto the PlugIns directory of your PL/SQL Developer installation
Changes in release 3.1.10
Enhancements
- utPLSQL test runner is now validating arguments of
--%throwsannotations 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
- Added ability to define nested contexts within test suite #938
- Added ability to exclude tests/suites by tags when invoking a test-run #1007 #983
- Added new annotation
--%nameto allow for providing custom name for contexts #1016
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
New features
- Added support for session context to provide test and suite information during test run #963 #781
- Added ability to invoke expectations without running framework #956 #963
- Failing expectations are now reported with call stack #967 #963
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
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-orderand-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.jaris 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
assumedUtPlsqlversion. This replaces the formerskipCompatibilityCheckparameter - Method
getDatabaseVersionis now deprecated in favor ofgetUtPlsqlVersionandgetRealDbPlsqlVersion TestRunnergetOptionsreturns the currentTestRunnerOptionsnow
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>