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

#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-проверками.