Почему в моем отчете о тестировании AWS CodeBuild отображается статус «Неполный»?

Я пытаюсь понять, почему мой отчет JUnit XML имеет статус "Неполный" в AWS CodeBuild.

XML создается Kaocha, разработчиком тестов Clojure, через его kaocha-junit-xml plugin.

В конце моего тестового прогона XML создается и затем обрабатывается на этапе UPLOAD_ARTIFACTS, на котором выполняется расчет, в результате чего:

error processing report: [InvalidInputException: Test summary: status count cannot be negative]]

У меня есть несколько утверждений для каждого теста, и поэтому на каждый тест может быть более одного сбоя. Чтобы убедиться, что у меня нет XML-файла JUnit с ошибками, я установил Jenkins и провел несколько тестов, которые работают и не заканчиваются статусом отчета Incomplete.

Обратите внимание, что статус тестового прогона - Failed, и только статус отчета - Incomplete.


person johanmynhardt    schedule 13.10.2020    source источник


Ответы (1)


Просмотрите свое свойство testsuite в JUnit XML, например

tests="1" failures="1" errors="1"

Здесь сбои и ошибки обрабатываются по-разному, и это делает ошибки = 2 (1 + 1), что меньше количества тестов (= 1), вызывающих отрицательный счет статуса (1-2).

Я не уверен насчет формата JUnit, но если вы можете настроить его и убедиться, что указан либо сбой, либо ошибка (не оба сразу), то эта ошибка (количество состояний не может быть отрицательным) не появится.

person shariqmaws    schedule 16.04.2021
comment
Спасибо! Я собираюсь взглянуть. Если я правильно понимаю, сбои - это сбои теста / утверждения, а ошибки - это проблемы с тестом или в тесте, не относящиеся к утверждениям. В моем тесте есть несколько утверждений. Было бы довольно неуклюже разделить тест и запустить его n раз, чтобы проверить что-то, имеющее 1 результат, с помощью n проверок. - person johanmynhardt; 19.04.2021