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

Skip to content

Commit 301f336

Browse files
authored
Merge pull request #109 from jgebal/feature/documentation_reporter
Added documentation-like reporter.
2 parents 048cd56 + eb3b540 commit 301f336

33 files changed

Lines changed: 472 additions & 236 deletions

examples/RunAllExamples.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ prompt RunExampleTestAnnotationsHugePackage
2020
@@RunExampleTestAnnotationsHugePackage.sql
2121
prompt RunExpectations
2222
@@RunExpectations.sql
23+
prompt RunWithDocumentationReporter
24+
@@RunWithDocumentationReporter.sql

examples/RunExampleTestSuiteWithCompositeReporter.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ begin
3333
suite.add_item(testtoexecute);
3434

3535
-- provide a reporter to process results
36-
reporter := ut_composite_reporter(ut_reporters_list(ut_dbms_output_suite_reporter, ut_dbms_output_suite_reporter));
36+
reporter := ut_composite_reporter(ut_reporters_list(ut_documentation_reporter, ut_teamcity_reporter));
3737
suite.do_execute(reporter);
3838
end;
3939
/

examples/RunExampleTestSuiteWithDBMSOutputReporter.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ begin
3232
suite.add_item(testtoexecute);
3333

3434
-- provide a reporter to process results
35-
reporter := ut_dbms_output_suite_reporter;
35+
reporter := ut_documentation_reporter;
3636
suite.do_execute(reporter);
3737
end;
3838
/

examples/RunExampleTestThroughBaseClass.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ begin
1919
,a_setup_procedure => 'setup'
2020
,a_teardown_procedure => 'teardown');
2121

22-
reporter := ut_dbms_output_suite_reporter;
22+
reporter := ut_documentation_reporter;
2323
simple_test.do_execute(reporter);
2424
end;
2525
/

examples/RunExpectations.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
--Suite Management packages are when developed will make this easier.
44
--Clear Screen
55
Set Serveroutput On Size Unlimited format truncated
6-
set linesize 1000
6+
set linesize 10000
77
set echo off
88
--install the example unit test packages
99
@@department.tps
@@ -13,7 +13,7 @@ set echo off
1313
@@ut_custom_reporter.tpb
1414

1515
begin
16-
ut_suite_manager.run_cur_schema_suites_static(ut_custom_reporter(a_tab_size => 2), a_force_parse_again => true);
16+
ut_suite_manager.run_cur_schema_suites_static(ut_documentation_reporter(), a_force_parse_again => true);
1717
end;
1818
/
1919

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
Set Serveroutput On Size Unlimited format truncated
2+
set linesize 10000
3+
set echo off
4+
5+
create or replace package demo_doc_reporter1 is
6+
-- %suite(Demo of documentation reporter)
7+
-- %test(A passing test sample)
8+
procedure passing_test;
9+
-- %test
10+
procedure test_without_name;
11+
-- %test(A failing test exsample)
12+
procedure failing_test;
13+
-- %test
14+
procedure failing_no_name;
15+
-- %test(repoting exception)
16+
procedure failing_exception_raised;
17+
end;
18+
/
19+
20+
create or replace package body demo_doc_reporter1 is
21+
22+
procedure passing_test is begin null; end;
23+
24+
procedure test_without_name is
25+
begin
26+
ut.expect(1).to_(equal(1));
27+
end;
28+
29+
procedure failing_test is
30+
begin
31+
ut.expect(1).to_(equal(2));
32+
end;
33+
procedure failing_no_name is
34+
begin
35+
ut.expect(sysdate).to_(equal(to_char(sysdate)));
36+
end;
37+
procedure failing_exception_raised is
38+
l_date date;
39+
begin
40+
l_date := to_date('abcd');
41+
end;
42+
end;
43+
/
44+
45+
create or replace package demo_doc_reporter2 is
46+
-- %suite(A suite pacakge without body)
47+
-- %test(A test)
48+
procedure passing_test1;
49+
-- %test
50+
procedure passing_test2;
51+
end;
52+
/
53+
54+
create or replace package suite_package_without_name is
55+
-- %suite
56+
-- %test(A passing test sample)
57+
procedure passing_test1;
58+
-- %test(A passing test sample)
59+
procedure passing_test2;
60+
end;
61+
/
62+
63+
create or replace package body suite_package_without_name is
64+
65+
procedure passing_test1 is begin null; end;
66+
67+
procedure passing_test2 is
68+
begin
69+
ut.expect(1).to_(equal(1));
70+
end;
71+
end;
72+
/
73+
74+
begin
75+
ut_suite_manager.run_cur_schema_suites_static(ut_documentation_reporter(), a_force_parse_again => true);
76+
end;
77+
/
78+
79+
80+
drop package demo_doc_reporter2;
81+
drop package suite_package_without_name;
82+
drop package demo_doc_reporter1;

examples/ut_custom_reporter.tpb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ create or replace type body ut_custom_reporter is
99
return;
1010
end;
1111

12-
member function tab(self in ut_custom_reporter) return varchar2 is
12+
overriding member function tab(self in ut_custom_reporter) return varchar2 is
1313
tab_str varchar2(255);
1414
begin
1515
tab_str := rpad(' ', lvl * tab_size);
@@ -18,38 +18,38 @@ create or replace type body ut_custom_reporter is
1818

1919
overriding member procedure print_text(a_text varchar2) is
2020
begin
21-
(self as ut_dbms_output_suite_reporter).print_text(tab || a_text);
21+
(self as ut_documentation_reporter).print_text(tab || a_text);
2222
end;
2323

2424
overriding member procedure before_suite(self in out nocopy ut_custom_reporter, a_suite ut_object) as
2525
begin
26-
(self as ut_dbms_output_suite_reporter).before_suite(a_suite);
26+
(self as ut_documentation_reporter).before_suite(a_suite);
2727
lvl := lvl + 1;
2828
end;
2929

3030
overriding member procedure before_test(self in out nocopy ut_custom_reporter, a_test ut_object) as
3131
begin
32-
(self as ut_dbms_output_suite_reporter).before_test(a_test);
32+
(self as ut_documentation_reporter).before_test(a_test);
3333
lvl := lvl + 1;
3434
end;
3535

3636
overriding member procedure on_assert_process(self in out nocopy ut_custom_reporter, a_assert ut_object) is
3737
begin
3838
lvl := lvl + 1;
39-
(self as ut_dbms_output_suite_reporter).on_assert_process(a_assert);
39+
(self as ut_documentation_reporter).on_assert_process(a_assert);
4040
lvl := lvl - 1;
4141
end;
4242

4343
overriding member procedure after_test(self in out nocopy ut_custom_reporter, a_test ut_object) as
4444
begin
4545
lvl := lvl - 1;
46-
(self as ut_dbms_output_suite_reporter).after_test(a_test);
46+
(self as ut_documentation_reporter).after_test(a_test);
4747
end;
4848

4949
overriding member procedure after_suite(self in out nocopy ut_custom_reporter, a_suite ut_object) as
5050
begin
5151
lvl := lvl - 1;
52-
(self as ut_dbms_output_suite_reporter).after_suite(a_suite);
52+
(self as ut_documentation_reporter).after_suite(a_suite);
5353
end;
5454

5555
end;

examples/ut_custom_reporter.tps

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
create or replace type ut_custom_reporter under ut_dbms_output_suite_reporter
1+
create or replace type ut_custom_reporter under ut_documentation_reporter
22
(
3-
lvl integer,
43
tab_size integer,
54

65
-- Member functions and procedures
76
constructor function ut_custom_reporter(a_tab_size integer default 4, a_output ut_output default ut_output_dbms_output() ) return self as result,
8-
member function tab(self in ut_custom_reporter) return varchar2,
7+
overriding member function tab(self in ut_custom_reporter) return varchar2,
98
overriding member procedure print_text(a_text varchar2),
109
overriding member procedure before_suite(self in out nocopy ut_custom_reporter, a_suite ut_object),
1110
overriding member procedure before_test(self in out nocopy ut_custom_reporter, a_test ut_object),

source/core/types/ut_assert_result.tpb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ create or replace type body ut_assert_result is
77
self.object_type := 0;
88
self.result := a_result;
99
self.error_message := a_error_message;
10+
self.caller_info := ut_assert_processor.who_called_expectation();
1011
return;
1112
end ut_assert_result;
1213

@@ -24,6 +25,9 @@ create or replace type body ut_assert_result is
2425
self.actual_type := a_actual_type;
2526
self.expected_value_string := a_expected_value_string;
2627
self.actual_value_string := a_actual_value_string;
28+
if a_result = ut_utils.tr_failure then
29+
self.caller_info := ut_assert_processor.who_called_expectation();
30+
end if;
2731
return;
2832
end ut_assert_result;
2933

source/core/types/ut_assert_result.tps

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ create or replace type ut_assert_result force under ut_object
77
actual_value_string varchar2(4000 char),
88
message varchar2(4000 char),
99
error_message varchar2(4000 char),
10+
caller_info varchar2(4000 char),
1011
constructor function ut_assert_result(self in out nocopy ut_assert_result, a_result integer, a_error_message varchar2, a_name varchar2 default null)
1112
return self as result,
1213
constructor function ut_assert_result(self in out nocopy ut_assert_result, a_name varchar2, a_additional_info varchar2, a_error_message varchar2,

0 commit comments

Comments
 (0)