Я работаю с сонаром, имея Gallio с использованием OpenCover, это дает мне покрытие кода 0%, хотя есть тестовые классы, и моей машине требуется около 15 секунд, чтобы попытаться запустить тесты (по крайней мере, так кажется), после чего они суммируются со строкой 0 run, 0 passed, 0 failed, 0 inconclusive, 0 skipped
. Итак, я просмотрел Интернет / stackoverflow и обнаружил, что это может быть связано с кодом, компилируемым на другой машине. Как и здесь, я открыл решение в Visual Studio, построил его и вижу, что мои файлы PDB воссозданы. После чего снова попробовал сонар с opencover. это не помогло
Я взял строку кода, с помощью которой вызывается OpenCover, из консоли администратора, перешел в директорию OpenCover и выполнил ту же строку, без фильтра, так как мой Cover-report.xml сообщил мне, что тестовых модулей было skippedDueTo="Filter"
. После чего их больше не пропускали. Тем не менее, 0% тестового покрытия
Я зарегистрировал библиотеку профилировщика OpenCover с помощью regsvr32 OpenCover.Profiler.dll
в той же консоли администратора (и пробовал это дважды, так как у меня Windows 7, но я использую 32-битный сонар). Не помогло
Я пробовал ту же строку с добавлением аргумента -oldStyle тоже не помогло
Теперь я чувствую, что у меня нет вариантов...
Последний вызов, который я пробовал в консоли администратора:
C:\Program Files\OpenCover>OpenCover.Console.exe -register:user -target:"C:\Program Files\Gallio\bin\Gallio.Echo.exe" -targetdir:D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\.sonar "-targetargs:\"/r:IsolatedAppDomain\" \"/report-directory:D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\.sonar\" \"/report-name-format:gallio-report\" \"/report-type:Xml\" \"D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\CDPBackoffice.BusinessLogic.Tests\bin\Debug\CDPBackoffice.BusinessLogic.Tests.dll\" \"D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\CDPBackoffice.Utility.Tests\bin\Debug\CDPBackoffice.Utility.Tests.dll\" \"D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\CDPBackoffice.DataAccessLayer.Tests\bin\Debug\CDPBackoffice.DataAccessLayer.Tests.dll\"" -mergebyhash -output:D:\projecten\udbdrm\source\CDP\CDPBackoffice\Develop\CDPBackoffice.root\CDPBackoffice\.sonar\coverage-report.xml -oldStyle
В решении есть несколько тестовых классов, которые запускаются при их выполнении в Visual Studio и вызывают исходные классы. Некоторые из них терпят неудачу, некоторые из них преуспевают.
Кто-нибудь еще знает, как получить результаты теста? Предпочтительно в сонаре, но эй, так как выполнение OpenCover с вызовом выше помещает результаты в cover-report.xml, а сонар использует его в качестве входных данных, у меня все в порядке с рабочим вызовом ...