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

Skip to content

Commit 8de954b

Browse files
authored
Merge pull request #550 from lwasylow/xunitreportergetpath
Xunitreportergetpath
2 parents 5c6049c + f2d907a commit 8de954b

3 files changed

Lines changed: 51 additions & 1 deletion

File tree

source/reporters/ut_xunit_reporter.tpb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ create or replace type body ut_xunit_reporter is
2929

3030
function get_path(a_path_with_name varchar2, a_name varchar2) return varchar2 is
3131
begin
32-
return substr(a_path_with_name, 1, instr(a_path_with_name, '.' || a_name) - 1);
32+
return regexp_substr(a_path_with_name, '(.*)\.' ||a_name||'$',subexpression=>1);
3333
end;
3434

3535
procedure print_test_elements(a_test ut_test) is

test/core/reporters/test_xunit_reporter.pkb

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,31 @@ create or replace package body test_xunit_reporter as
88

99
--%test(A test with <tag>)
1010
procedure test_do_stuff;
11+
1112
end;]';
1213
execute immediate q'[create or replace package body check_xunit_reporting is
1314
procedure test_do_stuff is
1415
begin
1516
ut3.ut.expect(1).to_equal(1);
1617
ut3.ut.expect(1).to_equal(2);
1718
end;
19+
20+
end;]';
21+
22+
execute immediate q'[create or replace package check_xunit_rep_suitepath is
23+
--%suitepath(core)
24+
--%suite(check_xunit_rep_suitepath)
25+
--%displayname(Check XUNIT Get path for suitepath)
26+
27+
--%test(check_xunit_rep_suitepath)
28+
--%displayname(Check XUNIT Get path for suitepath)
29+
procedure check_xunit_rep_suitepath;
30+
end;]';
31+
execute immediate q'[create or replace package body check_xunit_rep_suitepath is
32+
procedure check_xunit_rep_suitepath is
33+
begin
34+
ut3.ut.expect(1).to_equal(1);
35+
end;
1836
end;]';
1937
end;
2038

@@ -59,10 +77,36 @@ create or replace package body test_xunit_reporter as
5977
ut.expect(l_actual).to_be_like('%at "%.CHECK_XUNIT_REPORTING%", line %');
6078
end;
6179

80+
procedure check_classname_suite is
81+
l_results ut3.ut_varchar2_list;
82+
l_actual clob;
83+
begin
84+
--Act
85+
select *
86+
bulk collect into l_results
87+
from table(ut3.ut.run('check_xunit_reporting',ut3.ut_xunit_reporter()));
88+
l_actual := ut3.ut_utils.table_to_clob(l_results);
89+
--Assert
90+
ut.expect(l_actual).to_be_like('%testcase classname="check_xunit_reporting"%');
91+
end;
92+
93+
procedure check_classname_suitepath is
94+
l_results ut3.ut_varchar2_list;
95+
l_actual clob;
96+
begin
97+
--Act
98+
select *
99+
bulk collect into l_results
100+
from table(ut3.ut.run('check_xunit_rep_suitepath',ut3.ut_xunit_reporter()));
101+
l_actual := ut3.ut_utils.table_to_clob(l_results);
102+
--Assert
103+
ut.expect(l_actual).to_be_like('%testcase classname="core.check_xunit_rep_suitepath"%');
104+
end;
62105
procedure remove_test_package is
63106
pragma autonomous_transaction;
64107
begin
65108
execute immediate 'drop package check_xunit_reporting';
109+
execute immediate 'drop package check_xunit_rep_suitepath';
66110
end;
67111
end;
68112
/

test/core/reporters/test_xunit_reporter.pks

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ create or replace package test_xunit_reporter as
1515
--%test(Reports failed line of test)
1616
procedure reports_failed_line;
1717

18+
--%test(Check that classname is returned correct suite)
19+
procedure check_classname_suite;
20+
21+
--%test(Check that classname is returned correct suitepath)
22+
procedure check_classname_suitepath;
23+
1824
--%afterall
1925
procedure remove_test_package;
2026
end;

0 commit comments

Comments
 (0)