@@ -36,44 +36,51 @@ create or replace type body ut_teamcity_reporter is
3636 end;
3737
3838 overriding member procedure after_suite_item(self in out nocopy ut_teamcity_reporter, a_suite in ut_object, a_item_index pls_integer) is
39- l_suite ut_test_suite;
40- l_item ut_test_object;
41- l_test ut_test;
42- l_index pls_integer;
43- l_assert ut_assert_result;
44- l_msg_str varchar2(4000);
39+ l_suite ut_test_suite;
40+ l_item ut_test_object;
41+ l_test ut_test;
42+ l_index pls_integer;
43+ l_assert ut_assert_result;
44+ l_test_full_name varchar2(4000);
45+ l_assert_full_name varchar2(4000);
4546 begin
4647 l_suite := treat(a_suite as ut_test_suite);
4748 l_item := treat(l_suite.items(a_item_index) as ut_test_object);
4849
4950 if l_item is of(ut_test) then
5051
5152 l_test := treat(l_item as ut_test);
53+
54+ l_test_full_name := l_suite.object_name || '.' || l_item.object_name;
5255 if l_test.items is not null and l_test.items.count > 0 then
5356 for i in 1 .. l_test.items.count loop
5457
5558 l_assert := treat(l_test.items(i) as ut_assert_result);
5659
57- l_msg_str := '##teamcity[message text=''' || l_assert.message || '''';
60+ l_assert_full_name := l_test_full_name || '.assert' || to_char(i);
61+
62+ dbms_output.put_line('##teamcity[testStarted name=''' || l_assert_full_name || ''']');
63+ --l_msg_str := '##teamcity[testStarted name=''' || l_suite.object_name || '.' || l_item.object_name ||'.assert'||i||''']';
64+ --''' duration=''' || trunc(l_test.execution_time*1e3) ||
65+
66+ --l_msg_str := '##teamcity[message text=''' || l_assert.message || '''';
5867
5968 if l_assert.result = ut_utils.tr_success then
6069 null;
6170 else
62- l_msg_str := l_msg_str || ' status=''ERROR''';
71+ dbms_output.put_line('##teamcity[testFailed name=''' || l_assert_full_name || ''' message=''' ||
72+ l_assert.message || ''']');
6373 end if;
64- l_msg_str := l_msg_str || ']' ;
74+ dbms_output.put_line('##teamcity[testFinished name=''' || l_assert_full_name || ''']') ;
6575
66- dbms_output.put_line(l_msg_str);
6776 end loop;
6877 end if;
6978
70- if l_test.result = ut_utils.tr_success then
71- l_msg_str := '##teamcity[testFinished name=''' || l_suite.object_name || '.' || l_item.object_name ||
72- ''' duration=''' || trunc(l_test.execution_time*1e3) || ''' ]';
73- else
74- l_msg_str := '##teamcity[testFailed name=''' || l_suite.object_name || '.' || l_item.object_name || ''']';
79+ if l_test.result != ut_utils.tr_success or l_test.result is null then
80+ dbms_output.put_line('##teamcity[testFailed name=''' || l_test_full_name || ''']');
7581 end if;
76- dbms_output.put_line(l_msg_str);
82+ dbms_output.put_line('##teamcity[testFinished name=''' || l_test_full_name || ''' duration=''' ||
83+ trunc(l_test.execution_time * 1e3) || ''']');
7784 end if;
7885 end;
7986
0 commit comments