You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Исправить отражение ошибок наборов и контейнеров в JUnit - #46
При ошибке конструктора или подготовки набора JUnit-отчёт мог содержать tests=0 и errors=0, поэтому потребитель отчёта показывал пустой успешный набор.
Теперь собственная ошибка набора или контейнера представлена отдельным testcase с именем <имя узла>.containerError и элементом error либо failure. Запись сохраняет причины, вывод и теги; уже выполненные дочерние тесты остаются в отчёте. Счётчики корня и вложенных наборов соответствуют фактическим записям XML. Общая статистика OneUnit не меняется.
Проверки:
Полный прогон: 432/432 теста, 17/17 наборов.
25 проверок JUnit: ранние и поздние ошибки, assertions, закрытие, вложенные контейнеры и оба уровня изоляции; успешные, пустые и пропущенные узлы не получают лишних записей.
34 проверки сохранения результатов, включая дочерние тесты после позднего сбоя.
Согласованность счётчиков проверяется по разобранному XML; diff --check, UTF-8 без BOM и CRLF проверены.
Summary by CodeRabbit
Новые возможности
JUnit-отчёты точнее отражают результаты вложенных тестов и наборов: отображают согласованные счётчики тестов, пропусков, ошибок и сбоев.
Ошибки тестовых наборов и контейнеров включаются в отчёт как отдельные записи с причинами и выводом.
Тесты
Добавлены проверки отчётов для ошибок на разных этапах выполнения, пропущенных и пустых наборов, вложенных контейнеров и изолированных запусков.
No actionable comments were generated in the recent review.
Walkthrough
Репортёр JUnit теперь рассчитывает агрегированные счётчики по результатам узлов и их потомков. Ошибки наборов выводятся как отдельные testcase. Добавлены фикстуры и проверки XML-отчётов для ошибок жизненного цикла, сбоев контейнеров, пропусков и пустых наборов.
sfaqer/OneUnit#40: сохраняет результаты завершённых дочерних тестов при позднем сбое набора и меняет обход дочерних узлов в JUnit-репортёре.
sfaqer/OneUnit#39: объединяет ошибки закрытия с результатом узла, который репортёр выводит как отдельный testcase.
sfaqer/OneUnit#37: добавляет получение результатов узлов, используемое репортёром для подсчёта записей JUnit.
Стихотворение
Кролик сверил счёт в XML,
У ошибок — свой testcase.
Вложенный сбой нашёл причину,
Пустой набор остался пуст.
Пропуск тихо получил отметку,
А тесты — точные числа.
Стихотворение
Кролик считает тесты в XML,
У каждой ошибки — свой testcase.
Причины вложены в отчёт,
Пропуск отмечен без ошибок.
Пустой набор хранит нули,
Проверки сверяют каждый счёт.
Merge Risk: Minimal · up to 79823
The change makes JUnit reports show suite and container errors as separate records with matching counters. No actionable merge-blocking risk is evident from the supplied context.
Pre-merge checks: 5
Check name
Status
Explanation
Description Check
Check skipped - CodeRabbit’s high-level summary is enabled.
Title check
Заголовок точно описывает основное изменение: отображение ошибок наборов и контейнеров в отчёте JUnit.
Docstring Coverage
No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage
Explanation
No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (8 skipped: 8 unsupported.)
Finishing Touches
Generate unit tests (beta)
Commit to this branch
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Кролик считает тесты в XML, У каждой ошибки — свой testcase. Причины вложены в отчёт, Пропуск отмечен без ошибок. Пустой набор хранит нули, Проверки сверяют каждый счёт.
Recent review info
Run configuration
Source mode: Auto
Repository: Unavailable
Branch: Unavailable
File: No configuration file from this repository applied
Commit: Unavailable
Layers: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: 6b7cb240-9b15-45b1-ae91-38ee533e8633
Commits
Reviewing files that changed from the base of the PR and between d8a5057 and 798230d.
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
При ошибке конструктора или подготовки набора JUnit-отчёт мог содержать
tests=0иerrors=0, поэтому потребитель отчёта показывал пустой успешный набор.Теперь собственная ошибка набора или контейнера представлена отдельным
testcaseс именем<имя узла>.containerErrorи элементомerrorлибоfailure. Запись сохраняет причины, вывод и теги; уже выполненные дочерние тесты остаются в отчёте. Счётчики корня и вложенных наборов соответствуют фактическим записям XML. Общая статистика OneUnit не меняется.Проверки:
diff --check, UTF-8 без BOM и CRLF проверены.Summary by CodeRabbit