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

Skip to content

Commit 341de8b

Browse files
committed
added test for output gathering
1 parent d7d7e61 commit 341de8b

2 files changed

Lines changed: 85 additions & 0 deletions

File tree

tests/RunAll.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ create table ut$test_table (val varchar2(1));
151151
@@lib/RunTest.sql ut_test/ut_test.BeforeEachExecuted.sql
152152
@@lib/RunTest.sql ut_test/ut_test.BeforeEachProcedureNameInvalid.sql
153153
@@lib/RunTest.sql ut_test/ut_test.BeforeEachProcedureNameNull.sql
154+
@@lib/RunTest.sql ut_test/ut_test.TestOutputGathering.sql
154155

155156
@@lib/RunTest.sql ut_test_suite/ut_test_suite.ErrorsATestWhenAfterTestFails.sql
156157
@@lib/RunTest.sql ut_test_suite/ut_test_suite.ErrorsATestWhenBeforeTestFails.sql
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
create or replace package ut_output_tests
2+
as
3+
--%suite
4+
5+
--%beforeeach
6+
procedure beforeeach;
7+
8+
--%aftereach
9+
procedure aftereach;
10+
11+
--%test
12+
--%beforetest(beforetest)
13+
--%aftertest(aftertest)
14+
procedure ut_passing_test;
15+
16+
procedure beforetest;
17+
18+
procedure aftertest;
19+
20+
end;
21+
/
22+
23+
create or replace package body ut_output_tests
24+
as
25+
26+
procedure beforetest as
27+
begin
28+
dbms_output.put_line('<!beforetest!>');
29+
end;
30+
31+
procedure aftertest
32+
as
33+
begin
34+
dbms_output.put_line('<!aftertest!>');
35+
end;
36+
37+
procedure beforeeach as
38+
begin
39+
dbms_output.put_line('<!beforeeach!>');
40+
end;
41+
42+
procedure aftereach
43+
as
44+
begin
45+
dbms_output.put_line('<!aftereach!>');
46+
end;
47+
48+
procedure ut_passing_test
49+
as
50+
begin
51+
dbms_output.put_line('<!thetest!>');
52+
ut.expect(1,'Test 1 Should Pass').to_equal(1);
53+
end;
54+
55+
end;
56+
/
57+
58+
declare
59+
l_output_data dbms_output.chararr;
60+
l_num_lines integer := 100000;
61+
begin
62+
--act
63+
ut.run('ut_output_tests');
64+
65+
--assert
66+
dbms_output.get_lines( l_output_data, l_num_lines);
67+
for i in 1 .. l_num_lines loop
68+
if l_output_data(i) like '%<!beforeeach!>%<!beforetest!>%<!thetest!>%<!aftertest!>%<!aftereach!>%1 tests, 0 failed, 0 errored%' then
69+
:test_result := ut_utils.tr_success;
70+
end if;
71+
end loop;
72+
73+
if :test_result != ut_utils.tr_success or :test_result is null then
74+
for i in 1 .. l_num_lines loop
75+
dbms_output.put_line(l_output_data(i));
76+
end loop;
77+
dbms_output.put_line('Failed: Wrong output');
78+
end if;
79+
end;
80+
/
81+
82+
drop package ut_output_tests
83+
/
84+

0 commit comments

Comments
 (0)