Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Updated readme.
Added reference on comparing PLSQL records and collections on Oracle 12c
  • Loading branch information
jgebal committed May 7, 2017
commit dca0f702be60d655ba84e66dfdb59ed5df95f1b6
7 changes: 7 additions & 0 deletions docs/userguide/expectations.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,13 @@ begin
end;
```

### Using cursors to compare PLSQL records on Oracle 12c

There is a great article by Tim Hall on [using the TABLE Operator with Locally Defined Types in PL/SQL](https://oracle-base.com/articles/12c/using-the-table-operator-with-locally-defined-types-in-plsql-12cr1).
If you are on Oracle 12c, you can benefit from this feature to make comparison of PLSQL records and tables super-simple in utPLSQL.
You can use the feature described in article to convert PLSQL records and collection types to cursors. Complex cursor data can then be compared in utPLQL.


### Comparing cursor data containing DATE fields

**Important note**
Expand Down
85 changes: 46 additions & 39 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,45 +57,52 @@ To sign up to the chat use [this link](http://utplsql-slack-invite.herokuapp.com

__Version 2 to Version 3 Comparison__

The following table is a work in progress right now, and **will** change. If you have great idea that you would like to see in version 3 please create an [issue on GitHub](https://github.com/utPLSQL/utPLSQL/issues) or discuss it with us in the [Slack chat rooms](http://utplsql-slack-invite.herokuapp.com/).


| Feature | Version 2 | Version 3 |
| ------------------------- | ------------- | ---------------------- |
| Easy to install | Yes | Yes |
| Documentation | Yes | Sparse - in progress |
| License | GPL v2 | Apache 2.0 |
| **Tests Creation** | | |
| Declarative test configuration coupled with the source code | No | Yes - Annotations<sup>1</sup>|
| Tests as Packages | Yes | Yes |
| Multiple Tests in a single Package | Yes | Yes |
| Different Setup/Teardown <br/> For Each Test in a Single Package | No | Yes |
| Suite Definition Storage | Tables | Package - Annotations<sup>1</sup> |
| Multiple Suites | Yes | Yes |
| Suites can contain Suites | No | Yes |
| Automatic Test detection | No | Yes - Annotations<sup>1</sup> |
| Require Prefix on Test packages | Yes | No |
| Require Prefix on Test procedures | Yes | No |
| Auto Compilation of Tests | Yes | No (Let us know if you use this) |
| Assertion Library | 30 Assertions<sup>2</sup> | Still under development |
| Custom Record Assertions | requires generated code through **utRecEq** Package | On Roadmap |
| Test Skeleton Generation | Yes | On Roadmap |
| **Test Execution<sup>3</sup>** | | |
| Single Test Execution | Yes | Yes |
| Test Suite Execution | Yes | Yes |
| Subset of Suite Execution | No | Yes |
| Multiple Suite Execution | No | Yes |
| Code Coverage | No | On Roadmap |
| Framework Transaction Control | No | Yes - Optional |
| **Test Output** | | |
| Multiple Output Reporters can be used during test execution | No | Yes |
| DBMS_OUTPUT | Yes | Yes (format changed) |
| Stored in Table | Yes | On Roadmap |
| XUnit XML Format | No | Yes |
| HTML Format | Yes | On Roadmap |
| File | Yes | On Roadmap |
| Realtime test execution results | No | Yes |
| Custom Output reporter | Yes | Yes |
If you have great feature in mind, that you would like to see in utPLSQL v3 please create an [issue on GitHub](https://github.com/utPLSQL/utPLSQL/issues) or discuss it with us in the [Slack chat rooms](http://utplsql-slack-invite.herokuapp.com/).


| Feature | Version 2 | Version 3 |
| -------------------------------------- | ---------------------- | ---------------------- |
| Easy to install | Yes | Yes |
| Documentation | Yes | Yes |
| License | GPL v2 | Apache 2.0 |
| **Tests Creation** | | |
| Declarative test configuration | No | Yes - Annotations<sup>1</sup>|
| Tests as Packages | Yes | Yes |
| Multiple Tests in a single Package | Yes | Yes |
| Optional Setup/Teardown | No | Yes |
| Different Setup/Teardown <br/> For Each Test in a Single Package| No | Yes - Annotations<sup>1</sup> |
| Suite Definition Storage | Tables | Package - Annotations<sup>1</sup> |
| Multiple Suites | Yes | Yes |
| Suites can contain Suites | No | Yes |
| Automatic Test detection | No | Yes - Annotations<sup>1</sup>|
| Unconstrained naming of Test packages | No - prefixes | Yes - name not relevant|
| Require Prefix on Test procedures | No - prefixes | Yes - name not relevant|
| Auto Compilation of Tests | Yes | No (Let us know if you use this) |
| Assertion Library | 30 assertions<sup>2</sup> | 26 matchers (13 + 13 megated) |
| Extendable assertions | No | Yes - custom matchers |
| PLSQL Record Assertions | generated code through **utRecEq** Package | [possible on Oracle 12c](https://oracle-base.com/articles/12c/using-the-table-operator-with-locally-defined-types-in-plsql-12cr1) using [cursor matchers](docs/userguide/expectations.md#comparing-cursors)|
| Test Skeleton Generation | Yes | On Roadmap |
| **Test Execution<sup>3</sup>** | | |
| Single Test Package Execution | Yes | Yes |
| Single Test Procedure Execution | No | Yes |
| Test Suite Execution | Yes | Yes |
| Subset of Suite Execution | No | Yes |
| Multiple Suite Execution | No | Yes |
| Organizing Suites into hierarchies | No | Yes |
| **Code Coverage Reporting** | No | Yes |
| Html Coverage Report | No | Yes |
| Sonar XML Coverage Report | No | Yes |
| Coveralls Json Coverage Report | No | Yes |
| Framework Transaction Control | No | Yes - Annotations<sup>1</sup> |
| **Test Output** | | |
| Real-time test execution progress reporting | No | Yes |
| Multiple Output Reporters can be used during test execution | No| Yes |
| DBMS_OUTPUT | Yes | Yes (clean formatting) |
| File | Yes (to db server only)| Yes (on client side) |
| Stored in Table | Yes | No (can be added as custom reporter)
| XUnit format support | No | Yes |
| HTML Format | Yes | No |
| Custom Output reporter | Yes-needs configuration| Yes - no config needed |

<sup>1</sup> Annotations are specially formatted comments in your package specification. This enables *declarative* test configuration that is coupled with the source code. See Documentation for more details.

Expand Down