Azure Конвейеры строят все проекты индивидуально перед запуском тестов. - PullRequest
0 голосов
/ 18 марта 2020

У нас есть приложение, которое имеет несколько проектов, изолированных в своих собственных решениях, каждый из которых имеет свои собственные проекты UnitTest и IntegrationTest в этих решениях. В наших локально размещенных Azure приложениях DevOps происходит следующее: следующий код заставляет Azure DevOps создавать каждый проект в решении перед запуском тестов. Что я хотел бы сделать - это запустить все тесты последовательно при начальной сборке или, по крайней мере, сократить время сборки, потому что на сервере сборки каждая сборка занимает около минуты или двух, что составляет большую часть времени. Поскольку XUnit запускает тесты, скажем, в Rider, он обрабатывает все тесты в решении из нескольких проектов за одну минуту.

Есть ли способ сократить время сборки или это так хорошо, как это получается?

- task: DotNetCoreCLI@2
  displayName: Unit Tests
  inputs:
    command: test

    projects: '**/*UnitTest*/*.csproj'

    arguments: '--configuration $(BuildConfiguration)'

# run integration tests
- task: DotNetCoreCLI@2
  displayName: Integration Tests
  inputs:
    command: test
    projects: '**/*IntegrationTest*/*.csproj'
    arguments: '--configuration $(BuildConfiguration)'

1 Ответ

1 голос
/ 19 марта 2020

Что происходит с нашим локально размещенным приложением azure devops, так это следующий код, приведенный ниже, заставит Azure Devops построить каждый проект в решении перед запуском тестов.

Для В этой проблеме можно добавить аргумент --no-build, чтобы пропустить сборку проекта при тестовом запуске.

  • --no-build:

Не создает тестовый проект перед запуском Это. Это перечислено в разделе «Опции» документа .

- task: DotNetCoreCLI@2
  displayName: 'dotnet test'
  inputs:
    command: test
    projects: '**/*UnitTest*/*.csproj'
    arguments: '--configuration $(BuildConfiguration) --no-build'

Это кейс с похожей проблемой, вы можете обратиться к нему.

...