Генерация Xml из теста Google не показывает пропущенные тестовые случаи

Я использую тестовую среду Google для модульного тестирования на С++. У меня есть несколько тестовых случаев, которые я отключил с помощью DISABLED_ перед именем теста, а некоторые тесты пропущены с помощью GTEST_SKIP(). Это работает нормально, и я вижу, что тесты отключены и пропущены в журнале терминала. Проблема в том, что я генерирую xml файл из теста.
Я использую следующую команду.

--gtest_output=xml:/data/TestReport.xml

Сгенерированный XML

<?xml version = "1.0" encoding = "UTF-8"?>
<testsuites tests = "17" failures = "7" disabled = "3" errors = "0" time = "57.713" timestamp = "1970-01-04T10:31:55" name = "AllTests">
<testsuite name = "UNITTEST" tests = "17" failures = "7" disabled = "3" errors = "0" time = "45.713" timestamp = "1970-01-04T10:32:04">
<testcase name = "Test_1" status = "run" result = "skipped" time = "0" timestamp = "1970-01-04T10:32:04" classname = "UNITTEST" />
<testcase name = "Test_2" status = "run" result = "completed" time = "0.461" timestamp = "1970-01-04T10:32:04" classname = "UNITTEST" />
<testcase name = "Test_3" status = "run" result = "completed" time = "7.089" timestamp = "1970-01-04T10:32:05" classname = "UNITTEST">

Я хотел бы отметить, что наборы тестов тегов, которые представляют собой объединение всех наборов тестов, не имеют пропущенного атрибута. Тег testsuite, который представляет собой объединение всех тестов, также не имеет пропущенного атрибута. Однако тест Test_1 действительно показывает результат как пропущенный. Есть ли какая-либо конфигурация, чтобы отображался счетчик пропущенных.

Спасибо.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
39
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Скорее всего дело в версии. Я предполагаю, что это было добавлено здесь. Тег testsuite имеет skipped для меня:

<?xml version = "1.0" encoding = "UTF-8"?>
<testsuites tests = "3" failures = "0" disabled = "0" errors = "0" time = "0" timestamp = "2022-05-13T17:38:54.980" name = "AllTests">
  <testsuite name = "MyTestSuite" tests = "3" failures = "0" disabled = "0" skipped = "1" errors = "0" time = "0" timestamp = "2022-05-13T17:38:54.980">
    <testcase name = "Test1" status = "run" result = "skipped" time = "0" timestamp = "2022-05-13T17:38:54.980" classname = "MyTestSuite">
      <skipped message = "tests/gtest_demo/fib_test.cc:10&#x0A;"><![CDATA[tests/gtest_demo/fib_test.cc:10
]]></skipped>
    </testcase>
    <testcase name = "Test2" status = "run" result = "completed" time = "0" timestamp = "2022-05-13T17:38:54.981" classname = "MyTestSuite" />
    <testcase name = "Test3" status = "run" result = "completed" time = "0" timestamp = "2022-05-13T17:38:54.981" classname = "MyTestSuite" />
  </testsuite>
</testsuites>

Это пример, который я запускал: https://godbolt.org/z/9aW7GrYfj

Убедитесь, что вы используете последнюю версию.

Спасибо за ответ. Я очень ценю, что вы также добавили ссылку на PR, где она была добавлена. Однако наборы тестов тегов, которые показывают консолидацию всех наборов тестов, по-прежнему не отображают пропущенный атрибут (также в приложенном вами xml). Это ожидаемое поведение?

Satish Singh 14.05.2022 15:53

Я не думаю, что это сделано намеренно. Похоже, они добавили это для testsuite, но пропустили для testsuites. Я бы зарегистрировал это как ошибку на github Google Test.

Ari 14.05.2022 21:23

Я сообщил об этом. github.com/google/googletest/issues/3836

Satish Singh 14.05.2022 21:56

Другие вопросы по теме