Не найдено тестовых сборок, соответствующих шаблону: ** \ * Test * .dll,! ** \ * TestAdapter.dll,! ** \ obj \ ** - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь реализовать процесс Gated Check-In в Azure DevOps (VSTS), основываясь на успешности модульных тестов.Тем не менее, я постоянно получаю это предупреждение / ошибка, что сборки не найдены.

##[warning]No test assemblies found matching the pattern: **\*Test*.dll,!**\*TestAdapter.dll,!**\obj\**.
##[debug]Processed: ##vso[task.issue type=warning;]No test assemblies found matching the pattern: **\*Test*.dll,!**\*TestAdapter.dll,!**\obj\**.
======================================================

Все мои модульные тесты успешно выполняются в Visual Studio 2017 локально в Test Explorer.

Документация Azure DevOps кажется простой, но она не работает, когда я следую за ней.

Я использую размещенный агент VS2017.Сама сборка CI успешно выполняется при регистрации в системе контроля версий TFS.

Журнал

экран 1
экран 2 экран 3 экран4 экран 5 [экран 6]

Ответы [ 3 ]

0 голосов
/ 04 октября 2018

«Старые» .NET содержали файлы, расположенные в папке Release (что описывается переменной BuildConfiguration).

.NET Core содержит дополнительную папку:

Folder structure

YourNamespaceHere.UnitTests > bin > Release > netcoreapp2.1 > dll's

Когда вы добавите дополнительный подстановочный знак, сборка найдет dll-тесты юнит-теста.

**\$(BuildConfiguration)\*\*unittests.dll

Я переименовал деталь *Tests* в *unittests.dll, так как мой проект также содержит интеграционные тесты.

enter image description here

0 голосов
/ 20 марта 2019

У меня возникла такая же проблема, когда мне нужно было выполнить задачу Unit Test (я использую .Net Core).Это похоже на проблему с именами путей.Мой проект модульного теста называется

SimpleExample.UnitTests

, но путь к задаче «DotNetCoreCLI @ 2» в файле YAML был установлен на

'** / * Tests / *. Csproj'

Поэтому я просто изменяю путь проекта задачи модульного теста, чтобы он был похож на вторую часть (после точки) моего проекта модульных тестовв Visual Studio.

Путь к моему проекту модульного теста в Visual Studio 2017: Desktop\Azure-DevOps-Test\SimpleExample.UnitTests

Задача YAML, которая запускает модульные тесты [Для.Net проекты]:

- task: DotNetCoreCLI@2
    displayName: 'Runing Unit Tests'
    inputs:
      command: test
      projects: '**/*UnitTests/*.csproj'
      arguments: '--configuration $(buildConfiguration)'
0 голосов
/ 20 сентября 2018

У меня была такая же проблема в проекте .Net Core 2.1.В «другие параметры консоли» вы хотите добавить:

/Framework:.NETCoreApp,Version=v2.1 /logger:console;verbosity="normal"

Обратите внимание, что у меня возникла другая проблема, не связанная с этим, но с той же задачей.Я получаю сообщение об ошибке, не найдя вывод результатов тестового файла для dll TestPlatform.Итак, я добавил этот фильтр к существующим тестовым файлам:

!**\*Microsoft.VisualStudio.TestPlatform*

Мой последний yaml выглядит так:

- task: VSTest@2
  displayName: 'Run Unit Tests'
  inputs:
    testAssemblyVer2: |
     **\$(BuildConfiguration)\*test*.dll
     **\$(BuildConfiguration)\**\*test*.dll
     !**\*Microsoft.VisualStudio.TestPlatform*
     !**\obj\**
    vstestLocationMethod: 'location'
    vstestLocation: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\TestPlatform\'
    codeCoverageEnabled: True
    otherConsoleOptions: '/platform:x64 /Framework:.NETCoreApp,Version=v2.1 /logger:console;verbosity="normal" '
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...