Я использую OpenCover для определения покрытия кода для простого проекта C #.
Проблема
Хотя я вижу, что MSTest выполняет модульные тесты (и успешно), сгенерированный отчет пуст.
Подробнее
Это команда, которую я использую:
opencover.console.exe -register -arch:32
-target:"%VSINSTALLDIR%\Common7\IDE\mstest.exe"
-targetargs:"/testcontainer:calculatortest.dll"
-filter:+[calculator.dll]* -output:coverage.xml
Выход
Microsoft (R) Test Execution Command Line Tool Version 10.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Loading calculatortest.dll...
Starting execution...
Results Top Level Tests
------- ---------------
Passed CalculatorTest.StatisticsTest.AddOccurrenceTest
Passed CalculatorTest.StatisticsTest.AvgTest
2/2 test(s) Passed
Summary
-------
Test Run Completed.
Passed 2
---------
Total 2
Results file: e:\Users\erno\Documents\Visual Studio 2010\Projects\CodeStatistics\CalculatorTest\bin\Debug\TestResults\erno_ERNO01 2011-07-01 14_27_06.trx
Test Settings: Default Test Settings
Visited Classes 0 of 0 (NaN)
Visited Methods 0 of 0 (NaN)
Visited Points 0 of 0 (NaN)
Содержание сформированного отчета:
<?xml version="1.0" encoding="utf-8"?>
<CoverageSession xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VisitPoints />
</CoverageSession>
Окружающая среда
Код работает в 64-разрядной версии Windows 7, но выполняется в 32-разрядной среде командной строки Visual Studio.
EDIT Я запускаю команду в каталоге с отладочной сборкой модульных тестов, и я добавил каталог OpenCover в путь к среде.
Что я пробовал
Я искал похожие проблемы с PartCover (потому что OpenCover, похоже, является своего рода ветвью), но не смог найти ничего, что соответствовало бы проблеме и представило решение.
РЕДАКТИРОВАТЬ Я также тестировал с более широким фильтром -filter:+[*]*
, но это никак не изменило вывод.
РЕДАКТИРОВАТЬ Я также протестировал с аргументом MSTest /noisolation
, как упомянуто здесь . По-прежнему нет результатов.
РЕДАКТИРОВАТЬ Я также протестировал, полностью удалив фильтр и вернувшись к фильтру по умолчанию. Нет результатов.