Пишем код

Заметки о .net разработке

Включение упавших тестов в email-уведомления на TFS 2015 (scripted builds)

without comments

В TFS 2015 появилась новая система конфигурации сборок, которая в заметно лучшую сторону отличается от предыдущей системы, основанной на XAML. Конфигурирование билдов и создание собственных шагов сборки стало намного проще, и для этого больше не нужно обладать космическим набором знаний :)

Однако система новая, и поэтому некоторыми возможностями, которые были встроены в предыдущую версию, она пока не обладает.
С одной из таких проблем мы сегодня и разберемся.

Предыдущая система сборок предоставляла подробные email-оповещения о свалившихся тестах. В этих письмах, в частности, были перечислены упавшие тесты. В случае интеграционного тестирования это очень удобно: тесты зависят от внешних систем и поэтому могут иногда падать, и по списку непрошедших тестов легко диагностировать проблему и решить, нужно ли её исправлять, или это «типичная» проблема внешних систем, которая «пройдет» вместе со следующей сборкой.

В новой билд-системе email-оповещение выглядит так:

Информация подробная, но списка упавших тестов в ней нет. Для данной задачи мы написали небольшой build-step, который решает проблему и письмо выглядит как-то так:

Прошу любить и жаловать : TFSBuildTask-ReportFailingTests.
Исходный код powershell скрипта для задачи очень простой, так что описывать его нет никакой необходимости :)

Добавить build-step в свой TFS можно двумя способами:

  1. Склонировать/скачать репозиторий и добавить build-step в ТФС с помощью прилагающегося скрипта. Это потребует прав админа на ТФС, но зато этот шаг сборки можно будет с лёгкостью добавлять в сборки любых проектов через веб-интерфейс.
  2. Скачать собственно powershell скрипт, добавить его в систему контроля версий, а потом на этапе настройки сборки добавить скрипт в качестве Powershell build-task, с указанием на файл в вашем source control. Это не требует никаких дополнительных прав доступа.

Ну и последний этап, собственно добавление обработки в конкретный билд.
Выглядеть это должно как-то так:

Не забывайте ставить галочку напротив опции «Always run»!

Еще раз ссылка на репозиторий: https://github.com/Shaddix/TFSBuildTask-ReportFailingTests

P.S. Детальную информацию о создании собственных build-task и загрузке их в TFS можно найти по ссылке: https://blogs.infosupport.com/custom-build-tasks-in-tfs-2015/

Опубликовать в Facebook
Опубликовать в Google Plus

Written by Shaddix

Май 20th, 2016 at 8:54 пп

Posted in .net,TFS

Leave a Reply