Запустите тест Google с конвейером сборки в DevOps Azure. - PullRequest
1 голос
/ 30 сентября 2019

У меня проблемы с запуском моего gtest в конвейере сборки. Мое решение хорошо работает для построения и запуска тестового примера в Visual Studio 2017. В среде DevOps я использую установку .Net Desktop с небольшими изменениями. Задача сборки прекрасно работает и в конвейере.

Я пытаюсь использовать задачу VSTest по умолчанию, но я не уверен, что это правильная задача для запуска Google Test, который создается с помощью проекта Visual Studio из VS IDE.

Построение сценария yml сценария

# .NET Desktop

trigger:
- master

# Install build environment 
pool:
  vmImage: 'windows-latest'
  name: Hosted VS2017

variables:
  solution: '**/*.sln'
  buildPlatform: 'x86'
  buildConfiguration: 'Debug'

steps:

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

# Build VS solutions including gtest project.   
- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

# Run gTest, this task not working see log below.  
- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

Вывод журнала VSTest

Running tests using vstest.console.exe runner.
======================================================
Test selector : Test assemblies
Test filter criteria : null
Search folder : d:\a\1\s
VisualStudio version selected for test execution : latest
Attempting to find vstest.console from a visual studio installation with version [16.0,17.0).
Attempting to find vstest.console from a visual studio build tools installation with version [16.0,17.0).
Attempting to find vstest.console from a visual studio installation with version [15.0,16.0).
Run in parallel : false
Run in isolation : false
Path to custom adapters : null
Other console options : null
Code coverage enabled : false
Diagnostics enabled : false
SystemVssConnection exists true
Run the tests locally using vstest.console.exe
========================================================
##[warning]No test assemblies found matching the pattern: **\*test*.dll,!**\*TestAdapter.dll,!**\obj\**.

1 Ответ

0 голосов
/ 01 октября 2019

Да, задача VSTest, которая будет использовать VSTest.Console.exe. Он может запускать пользовательские тестовые адаптеры (например, Google Test Adapter).

Однако после прохождения встроенного программного обеспечения агента сборки Hosted VS2017 его нет в списке. Если это так, вы можете использовать Самостоятельные агенты Windows .

. Вы можете загрузить Google Test Adapter в качестве расширения Visual Studio, разархивировать его (переименовать файл .vsix в .zip) и поместить еговся распакованная папка где-то на вашем компьютере с агентом сборки. Затем шаг сборки должен указывать на этот каталог.

enter image description here

Кроме того, конечно, ваш проект должен включать пакет "googletest" NuGet для запускатесты.

Если вы все еще не можете заставить его работать, пожалуйста, удаленно соберите машину агента и вручную запустите сборку и тестирование, используя Visual Studio или командную строку вместо этого через конвейер Azure DevOps. Это сузится, если это проблема окружающей среды.

...