Регрессионный тест покрытия Pytest + выполняется при отправке запроса на перенос (azure конвейеров и битбакета) - PullRequest
0 голосов
/ 08 июля 2020

У меня есть пакет python в репозитории битбакетов. Я хотел бы настроить конвейеры azure так, чтобы, когда я отправляю запрос на перенос в главную ветку этого репозитория, запускалась куча тестов pytest.

Наряду с этим (отдельно или предпочтительно в pytest) Я бы хотел, чтобы был запущен тест покрытия, и этот тест завершился неудачно, если процент покрытия главной ветки выше, чем процент покрытия ветви, которая сливается с ней.

Идея состоит в том, что пул-реквест не может быть объединен, если тестовое покрытие не увеличится.

Кто-нибудь знает, как я могу это сделать?

1 Ответ

0 голосов
/ 09 июля 2020

Тест регрессии покрытия Pytest + выполняется при отправке запроса на перенос (azure конвейеры и битбакет)

Боюсь, мы не смогли управлять кодом в репозитории битбакетов, но в данный момент создайте конвейер Azure.

Мы можем настроить проверку запроса на включение для выполнения тестов pytest, когда мы отправляем запрос на перенос в главную ветвь репозитория bitbucket:

enter image description here

However, we also need a status check if the coverage percentage of the master branch is higher than the coverage percentage of the branch that is being merged for the pull request. But it seems Branch permissions or bitbucket does not have this feature.

If we migrate the repo from Bitbucket to Azure DevOps, then we could add a Build Validation to execute pytest tests and add a coverage status check. to check the coverage percentage:

Покрытие кода для запросов на вытягивание

Показатели покрытия кода и политика ветвления для запросов на вытягивание

Общие шаги:

  • Добавить проверку сборки для выполнения тестов pytest
  • Добавить задачу, чтобы получить процент покрытия главной ветки и перезаписать значение целевого покрытия в репозитории azurepipelines-coverage.yml в Azure.
  • Добавьте политику покрытия.

Надеюсь, это поможет.

...