Наша сборка TFS CI использует dotCover для запуска тестов xUnit. Однако некоторые тесты там не проходят, но локально проходят.
Я скачал dotCover.CommandLineTools и xunit.runner.console из nuget. распаковал пакеты и попытался локально запустить команду dotCover cover
, как это выполняется в конвейере TFS:
.\tools\dotcover.exe cover /TargetExecutable=".\..\xunit-runner\tools\net461\xunit.console.exe"
/TargetArguments="c:\Projects\MySolution\Sources\MyTestProject\bin\Debug\MyTestProject.dll -xml c:/temp/testResultFile.xml"
/Output="c:/temp/coverageResultFile.dcvr"
/Filters='-:module=xunit.*;-:module=*UnitTests*'
Получите те же ошибки, что и в CI. Из моего исследования ошибок, которые вывод dotCover показал в неудачных тестах, кажется, что фиктивные данные не совпадают при локальном запуске тестов из VS и их запуске с помощью dotCover.
Кто-нибудь сталкивался с такой проблемой? Любое решение для этого?
EDIT: Только что попробовал еще одну вещь, запустил команду
.\xunit.console c:\Projects\MySolution\Sources\MyTestProject\bin\Debug\MyTestProject.dll
и обнаружил, что это дает мне те же ошибки, что и на CI, поэтому причиной проблем является не CI и не dotCover, а xunit.runner.console.
Какие-нибудь новые моменты в этом?