@@ -7,36 +7,37 @@ create or replace type body ut_teamcity_reporter is
77 end;
88
99 overriding member procedure before_suite(self in out nocopy ut_teamcity_reporter, a_suite in ut_object) is
10+ l_test_object ut_test_object := treat(a_suite as ut_test_object);
1011 begin
1112
12- ut_teamcity_reporter_printer.test_suite_started(a_suite_name => coalesce(replace(treat(a_suite as ut_test_object).name
13- ,'.')
14- ,treat(a_suite as ut_test_object)
15- .object_name));
16- end;
13+ ut_teamcity_reporter_printer.test_suite_started(a_suite_name => coalesce(replace(l_test_object.name, '.')
14+ ,l_test_object.object_name));
15+ end before_suite;
1716
1817 overriding member procedure after_suite(self in out nocopy ut_teamcity_reporter, a_suite in ut_object) is
18+ l_test_object ut_test_object := treat(a_suite as ut_test_object);
1919 begin
20- ut_teamcity_reporter_printer.test_suite_finished(a_suite_name => coalesce(replace(treat(a_suite as ut_test_object).name
21- ,'.')
22- ,treat(a_suite as ut_test_object)
23- .object_name));
24- end;
20+ ut_teamcity_reporter_printer.test_suite_finished(a_suite_name => coalesce(replace(l_test_object.name, '.')
21+ ,l_test_object.object_name));
22+ end after_suite;
2523
2624 overriding member procedure before_suite_item(self in out nocopy ut_teamcity_reporter, a_suite in ut_object, a_item_index pls_integer) is
27- l_suite ut_test_suite;
28- l_item ut_test_object;
25+ l_suite ut_test_suite;
26+ l_item ut_test_object;
27+ l_test ut_test;
28+ l_test_full_name varchar2(4000);
2929 begin
3030 l_suite := treat(a_suite as ut_test_suite);
3131 l_item := treat(l_suite.items(a_item_index) as ut_test_object);
3232
3333 if l_item is of(ut_test) then
34- null;
35- --ut_teamcity_reporter_printer.test_started(a_test_name => l_suite.object_name || ':' || l_item.object_name);
34+ l_test := treat(l_item as ut_test);
35+ l_test_full_name := nvl(replace(l_suite.name, '.'), l_suite.object_name) || ':' ||
36+ nvl(replace(l_test.name, '.'), l_test.object_name);
37+ ut_teamcity_reporter_printer.test_started(a_test_name => l_test_full_name);
3638 end if;
37- l_suite := null;
38- l_item := null;
39- end;
39+
40+ end before_suite_item;
4041
4142 overriding member procedure after_suite_item(self in out nocopy ut_teamcity_reporter, a_suite in ut_object, a_item_index pls_integer) is
4243 l_suite ut_test_suite;
@@ -57,36 +58,37 @@ create or replace type body ut_teamcity_reporter is
5758 l_test_full_name := nvl(replace(l_suite.name, '.'), l_suite.object_name) || ':' ||
5859 nvl(replace(l_item.name, '.'), l_test.object_name);
5960
60- --l_test_full_name := nvl(l_suite.object_name || ':' || l_item.object_name;
61-
62- if l_test.items is not null and l_test.items.count > 0 then
63- for i in 1 .. l_test.items.count loop
64-
65- l_assert := treat(l_test.items(i) as ut_assert_result);
66-
67- l_assert_full_name := l_test_full_name || '.' || nvl(replace(l_assert.name, '.'), 'assert' || to_char(i));
68-
69- ut_teamcity_reporter_printer.test_started(a_test_name => l_assert_full_name);
70-
71- if nvl(l_assert.result, ut_utils.tr_error) != ut_utils.tr_success then
72- ut_teamcity_reporter_printer.test_failed(a_test_name => l_assert_full_name, a_msg => l_assert.message);
73- end if;
74-
75- ut_teamcity_reporter_printer.test_finished(a_test_name => l_assert_full_name);
76-
77- end loop;
61+ if l_test.result = ut_utils.tr_ignore then
62+ ut_teamcity_reporter_printer.test_ignored(l_test_full_name);
63+ else
64+
65+ if l_test.items is not null and l_test.items.count > 0 then
66+ for i in 1 .. l_test.items.count loop
67+
68+ l_assert := treat(l_test.items(i) as ut_assert_result);
69+
70+ if nvl(l_assert.result, ut_utils.tr_error) != ut_utils.tr_success then
71+ ut_teamcity_reporter_printer.test_failed(a_test_name => l_test_full_name
72+ ,a_msg => l_assert.message
73+ ,a_expected => l_assert.expected_value_string
74+ ,a_actual => l_assert.actual_value_string);
75+ exit;
76+ end if;
77+
78+ end loop;
79+ elsif l_test.result = ut_utils.tr_failure then
80+ ut_teamcity_reporter_printer.test_failed(a_test_name => l_test_full_name, a_msg => 'Test failed');
81+ elsif l_test.result = ut_utils.tr_error then
82+ ut_teamcity_reporter_printer.test_failed(a_test_name => l_test_full_name, a_msg => 'Error occured');
83+ end if;
84+
85+ ut_teamcity_reporter_printer.test_finished(l_test_full_name
86+ ,a_test_duration_milisec => trunc(l_test.execution_time * 1e3));
87+
7888 end if;
7989
80- /*
81- if nvl(l_test.result, ut_utils.tr_error) != ut_utils.tr_success then
82- ut_teamcity_reporter_printer.test_failed(a_test_name => l_test_full_name);
83- end if;
84-
85- ut_teamcity_reporter_printer.test_finished(a_test_name => l_test_full_name
86- ,a_test_duration_milisec => trunc(l_test.execution_time * 1e3));
87- */
8890 end if;
89- end;
91+ end after_suite_item ;
9092
9193end;
9294/
0 commit comments