Проблемы с «Совокупными результатами испытаний» в Гудзоне - PullRequest
11 голосов
/ 22 декабря 2008

Мои проекты Hudson, похоже, не собирают должным образом результаты тестов, и мне интересно, пропустил ли я где-нибудь шаг конфигурации. У меня есть два проекта, Foo и Foo-Tests, оба из которых являются работами по фристайлу.

На проекте Foo у меня есть следующая конфигурация:

  • Проверено «Совокупные результаты испытаний на выходе».
  • Установлен флажок «Автоматически объединять все последующие тесты» в соответствии с предыдущим параметром.
  • Установлен флажок «Построить другие проекты» и указан «Foo-Tests» для сборки.

В проекте Foo-Tests у меня есть следующая конфигурация:

  • Установлен флажок «Опубликовать отчет с результатами теста JUnit» и указаны мои файлы XML отчета JUnit.

Когда Foo собирает, он строит успешно и правильно запускает сборку Foo-Tests. Сборка Foo-Tests успешна и правильно публикует отчеты JUnit. Тем не менее, когда я ищу объединенные результаты тестов в Foo, для сборки появляется ссылка «Результаты последних тестов (без тестов)», которая отправляет меня на 404.

Вот что я пробовал, но это не решает проблему:

  • Скажите Foo «Опубликовать отчет о результатах тестирования JUnit» без параметров (в проекте Foo нет тестов, только Foo-Tests). Это вызвало ошибку, так как не было тестовых файлов для его обработки в проекте.
  • Скажите Foo-Tests: «Отпечатайте отпечатки всех опубликованных артефактов» без параметров (мне было интересно, рассматривал ли Хадсон отчеты JUnit как артефакты за сценой). Это вызвало ошибку, так как я не определил явные артефакты для публикации.

Я использую Hudson 1.266.

Edit: Должен отметить, что в списке рассылки Hudson Users я нашел два вопроса, на которые нет ответов и, возможно, которые помогут решить эту проблему:

Ответы [ 4 ]

5 голосов
/ 25 сентября 2009

Мы используем Hudson ver. 1.324 и имели аналогичные проблемы. Хотя вы упоминаете, что пытались включить дактилоскопию, и она не сработала для вас, она сработала для нас Мы следовали инструкциям, найденным здесь:

http://shotgunsandpenguins.blogspot.com/2009/07/how-to-aggregate-downstream-test.html

3 голосов
/ 28 февраля 2009

Мне удалось повторить вашу проблему с Hudson 1.266. Это ошибка Hudson, которая была исправлена ​​в более поздней сборке (до версии 1.287), поэтому либо обновите Hudson, либо воспользуйтесь этим обходным решением в два клика: сначала перейдите на страницу Project, перейдите в раздел Last Build, а затем - Aggregated Test Results.

Проблема в том, что на странице проекта для Foo отображается только ссылка «Последние результаты теста» с URL-адресом, подобным http://localhost:8080/hudson-1.266/job/Foo/lastBuild/testReport/. Поскольку у Foo нет собственных тестов, эта ссылка не имеет XML-файла JUnit для ссылки и возвращает ошибку, которую вы упомянули. Это было исправлено где-то между 1.266 и 1.287 путем перенаправления из latestBuild / testReport / обратно в latestBuild /, когда нет тестов. Альтернатива для вас в 1.266 состоит в том, чтобы вместо того, чтобы нажимать на «Последние результаты теста» на странице «Проект», прокрутить вниз и нажать «Последняя сборка» в разделе «Постоянные ссылки». Это приведет вас к последнему элементу Build / URL, и оттуда вы можете нажать на Aggregated Test Result, URL которого имеет вид http://localhost:8080/hudson-1.266/job/Foo/lastBuild/aggregatedTestReport/.. На этой странице все результаты ваших тестов в последующих проектах будут доступны в разделе Drill Down. раздел.

К сожалению, проблема со ссылками Drill Down все еще существует, даже в версии 1.287. Из Foo, когда вы перейдете к Foo-Tests, как описано выше, вы попадете на неверно сформированный URL, который выглядит как http://localhost:8080/hudson-1.287job/Foo-Tests/.. Вам придется вручную изменить этот URL, чтобы вставить / между контекстом hudson. и путь задания, следующий за ним, выглядит так: http://localhost:8080/hudson-1.287/job/Foo-Tests/. Тогда вы сможете увидеть результаты последующих тестов.

У меня не было возможности просмотреть источник Хадсона, чтобы найти ошибку, но для этого уже есть проблема. Его выпуск 1574 , и он был открыт почти год.

Кстати, я очень люблю Hudson for CI, но их интерфейс не такой гладкий, как мог бы быть. Я с нетерпением жду их переделки пользовательского интерфейса в ExtJS. Может быть, именно на это они тратят все свое время.

2 голосов
/ 03 ноября 2009

два проекта, Foo и Foo-Test, должны знать, что они находятся в одном потоке, поэтому для этого требуются отпечатки пальцев (и, следовательно, архивирование) общего файла.

Мне нужно было выбрать файл, который не менялся между запуском Foo и Foo-Test, и все же менялся между моментами их запуска. для меня это был несвязанный временный файл .jar, сгенерированный Foo в пользовательском / общем рабочем пространстве для моих версий Foo и Foo-Test.

То есть мне нужно было, чтобы Foo и Foo-Test отпечатали один и тот же файл.

после этого, по крайней мере с Hudson 1.330, все работает - агрегированные ссылки, детализация и т. Д.

2 голосов
/ 08 марта 2009

Я исправил пропущенную проблему '/' в Hudson 1.288

Ключом к использованию совокупных результатов последующих тестов является запуск снятия отпечатков пальцев на обоих заданиях. В этом случае это будут 'Foo' и 'Foo-tests'

Хадсон сравнивает сборку с последующими тестами, находя файлы с одинаковыми отпечатками пальцев. Так что это означает, что ваши отпечатки должны совпадать. Вроде как место преступления.

...