PL/SQL can sometimes be a very frustrating language. It is wonderful in so many ways, but it is sorely lacking in “reflection” features (the ability at runtime to get information about the structure of variables). Here is an example, relevant to testing collections: to see if two collections of records are equal, I need to compare those records. There is no generic way in PL/SQL to do that. I need to get the information about each field and construct a function.
Since we cannot do that for you, when you set up a test for a collection, you need to provide the function to perform this check. It can be defined in your package or you can provide the code directly in the outcome definition form.
I expect that very soon we will let you specify the structure of your collection (and same for records) by pointing to a table or query or even supplying a series of name-datatype pairs in a grid.
Do you have other ideas of how to address this?