Example:
create or replace package tst as
--%suite
--%test
procedure t;
end;
/
create or replace package body tst as
procedure t is
l_expected sys_refcursor;
l_actual sys_refcursor;
begin
--Act
open l_expected for
select 'Table' as name from dual
union all
select 'Desk' as name from dual
union all
select 'Table' as name from dual;
open l_actual for
select 'Desk' as name from dual
union all
select 'Table' as name from dual;
--Assert
ut.expect( l_actual ).to_equal( l_expected ).unordered();
end;
end;
/
exec ut.run('tst');
Gives:
Package TST compiled
Package Body TST compiled
tst
t [.022 sec] (FAILED - 1)
Failures:
1) t
Actual: refcursor [ count = 2 ] was expected to equal: refcursor [ count = 3 ]
Diff:
Rows: [ 1 differences ]
All rows are different as the columns are not matching.
at "UT3_DEMO.TST.T", line 20 ut.expect( l_actual ).to_equal( l_expected ).unordered();
Finished in .023709 seconds
1 tests, 1 failed, 0 errored, 0 disabled, 0 warning(s)
PL/SQL procedure successfully completed.
The message should be:
1) t
Actual: refcursor [ count = 2 ] was expected to equal: refcursor [ count = 3 ]
Diff:
Rows: [ 1 differences ]
Missing: <ROW><NAME>Table</NAME></ROW>
at "UT3_DEMO.TST.T", line 20 ut.expect( l_actual ).to_equal( l_expected ).unordered();
Using utplsql v 3.1.2 & Oracle 18
Example:
Gives:
The message should be:
Using utplsql v 3.1.2 & Oracle 18