Покрытие кода новыми OSS MSTests на Appveyor
У меня есть в основном проект powershell с решением на C#, который называется dbatools в AppVeyor. Модульные тесты Ive C# были недавно переведены на новую версию MSTests для OSS, и я хотел бы создать покрытие кода с ними. Нам нужна новая версия MSTests, потому что та, которая встроена в Visual Studio, не поддерживает тестирование с DataRowAttribute.
Мы использовали для генерации покрытия старого кода с помощью следующей команды:
OpenCover.Console.exe `
-register:user `
-target:"vstest.console.exe" `
-targetargs:"/logger:Appveyor bin\projects\dbatools\dbatools.Tests\bin\Debug\dbatools.Tests.dll" `
-output:"coverage.xml" `
-filter:"+[dbatools]*" `
-returntargetcode | Out-Null
Теперь это генерирует следующий вывод:
Executing: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe
Microsoft (R) Test Execution Command Line Tool Version 14.0.25420.1
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
Warning: No test is available in bin\projects\dbatools\dbatools.Tests\bin\Debug\dbatools.Tests.dll. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.
Information: Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true
Committing...
[NOTE] Post processing coverage data...
No results, this could be for a number of reasons. The most common reasons are:
1) missing PDBs for the assemblies that match the filter please review the
output file and refer to the Usage guide (Usage.rtf) about filters.
2) the profiler may not be registered correctly, please refer to the Usage
guide and the -register switch.
Uploading artifact coverage.xml (24,530 bytes)...100%
Итак, мои вопросы таковы:
- Есть ли способ заставить эти тесты работать с mstest? т.е.
/TestAdapterPath:bin\projects\dbatools\packages\MSTest.TestAdapter.1.2.1\build\_common
- Есть ли способ пропустить opencover в первую очередь? Документы указывают, что
/Enablecodecoverage
должен сделать трюк, возможно, с/Logger:trx
- Есть ли другое консольное приложение testrunner для тестов?