TeamCity

Test IT поддерживает интеграцию с TeamCity. Для настройки используется всего несколько строк кода и поддерживаются любые тестовые фреймворки и платформы.

Вы можете интегрировать как простые проекты (только с запуском тестов), так и сложные проекты (несколько отдельных проектов), которые запускаются в несколько независимых потоков.

Независимо от ваших требований процесс интеграции будет одинаков:

  1. Запуск автоматизированных тестов в пайплайнах TeamCity
  2. Генерация JUnit XML отчета с результатами автоматизированных тестов
  3. Загрузка результатов с помощью Test IT CLI

Используйте переменную окружения

Чтобы утилита Test IT CLI работала корректно, передавайте приватный токен через переменную окружения TMS_TOKEN. О безопасной передаче токена читайте в разделе Безопасное хранение данных.

Стандартный запуск

Данная инструкция описывает запуск простого проекта в Azure TeamCity. Она актуальна для любых тестовых фреймворков и платформ. В качестве примера описан запуск с помощью тестового фреймворка Pytest для Python.

Для быстрой и простой интеграции с Test IT вы можете использовать утилиту 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. Больше информации вы можете найти в официальной документацииopen in new window.

Безопасное хранение данных

Для работы утилиты Test IT CLI вам необходимо использовать приватный токен для авторизации. Хранение данного токена и другой чувствительной информации в коде строго не рекомендуется, так как доступ к этой информации будет иметь любой у кого есть доступ к коду.

Используйте переменные TeamCity для хранения чувствительной информации. Подробнее с переменными вы можете ознакомится в официальной документацииopen in new window.

Обновлено: