#clojure #aws-codebuild #clojure.test
#clojure #aws-codebuild #clojure.test
Вопрос:
Я пытаюсь понять, почему мой отчет JUnit XML приводит к неполному статусу в AWS CodeBuild.
XML создается Kaocha, тестировщиком Clojure, через its kaocha-junit-xml plugin
.
В конце моего тестового запуска XML генерируется, а затем обрабатывается на UPLOAD_ARTIFACTS
этапе, на котором выполняется вычисление, и это приводит к:
error processing report: [InvalidInputException: Test summary: status count cannot be negative]]
У меня есть несколько утверждений для каждого теста, и, следовательно, может быть более 1 сбоя для каждого теста.
Чтобы убедиться, что у меня нет глючного XML-файла JUnit, я установил Jenkins и провел пару тестов, которые работают и не заканчиваются Incomplete
статусом отчета.
Обратите внимание, что статус тестового запуска Failed
равен , и только статус отчета равен Incomplete
.
Ответ №1:
Пожалуйста, просмотрите свою testsuite
собственность в JUnit XML, например
tests="1" failures="1" errors="1"
Здесь сбои и ошибки обрабатываются по-разному, и это приводит к ошибкам = 2 (1 1), что меньше, чем количество тестов (= 1), вызывающих отрицательный статус (1-2).
Я не уверен в формате JUnit, но если вы можете настроить его и убедиться, что заполнен либо сбой, либо ошибка (не оба), тогда эта ошибка («количество статусов не может быть отрицательным») не появится.
Комментарии:
1. Спасибо! Я собираюсь взглянуть. Если я правильно понимаю, сбои — это сбои / утверждения теста, а ошибки — это проблемы с тестом или в тесте, не связанные с утверждениями. У меня действительно есть несколько утверждений в моем тесте. Было бы довольно неудобно разбивать тест и запускать его n раз, чтобы проверить что-то, что имеет 1 результат с n-проверками.