
Test IT поддерживает интеграцию с TeamCity. Для настройки используется все несколько строк кода и поддерживаются любые тестовые фреймворки и платформы.
Вы можете интегрировать как простые проекты (только с запуском тестов), так и сложные проекты (несколько отдельных проектов), которые запускаются в несколько независимых потоков.
Независимо от ваших требований процесс интеграции всегда будет одинаков:
- Запуск автоматизированных тестов в пайплайнах TeamCity.
- Генерация Junit XML отчета с результатами автоматизированных тестов.
- Загрузка результатов с помощью Test IT CLI
Не забывайте передавать приватный токен через переменную окружения
TMS_TOKEN
для корректной работы утилиты Test IT CLI. Как это сделать безопасно смотрите ниже.
Стандартный запуск
В данном разделе показано как запускать простые проекты в TeamCity. В качестве примера мы выбрали тестовый фреймворк Pytest для Python. Но данная инструкция будет актуальна для любых тестовых фреймворков и платформ.
Мы будем использовать утилиту Test IT CLI
для быстрой и простой интеграции с нашей системой управления тестированием. С помощью одной команды мы загрузим все результаты автоматизированных тестов.
Ниже представлен пример файла settings.kts
, который отвечает за работу пайплайнов в TeamCity:
import jetbrains.buildServer.configs.kotlin.*
import jetbrains.buildServer.configs.kotlin.buildFeatures.parallelTests
import jetbrains.buildServer.configs.kotlin.buildFeatures.perfmon
import jetbrains.buildServer.configs.kotlin.buildSteps.script
import jetbrains.buildServer.configs.kotlin.triggers.vcs
version = "2022.10"
project {
buildType(Build)
}
object Build : BuildType({
name = "Build"
vcs {
root(DslContext.settingsRoot)
}
steps {
script {
name = "Install dependencies"
scriptContent = """
python -m pip install --upgrade pip
pip install -r requirements.txt
""".trimIndent()
}
script {
name = "Run tests"
scriptContent = """ pytest --junitxml=results/test-results.xml src/tests.py """
}
script {
executionMode = BuildStep.ExecutionMode.ALWAYS
name = "Submit results"
scriptContent =
"""
pip install testit-cli
testit --url <YOUR_INSTANCE_URL> \
--project-id 5236eb3f-7c05-46f9-a609-dc0278896464 \
--configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb \
--testrun-name "Teamcity test run" \
--results results/test-results.xml
""".trimIndent()
}
}
triggers {
vcs {
}
}
features {
perfmon {
}
}
})
Простым добавлением необходимых шагов вы можете запускать множество необходимых вам тестов и загружать их в Test IT. Больше информации вы можете найти в официальной документации.
Безопасное хранение данных
Для работы утилиты Test IT CLI вам необходимо использовать приватный токен для авторизации. Хранение данного токена и другой чувствительной информации в коде строго не рекомендуется, так как доступ к этой информации будет иметь любой у кого есть доступ к коду.
Используйте переменные TeamCity для хранения чувствительной информации. Подробнее с переменными вы можете ознакомится в официальной документации.