'вот выход ...OpenCover показывая 0 линии покрыты MSTest
Loading C:\TEMP\BankDemo_mstest\Test_BankDemo\bin\Debug\Test_BankDemo.dll...
Starting execution...
Results Top Level Tests
------- ---------------
Error Test.BankDemo.AccountTest.CreditTest
Error Test.BankDemo.AccountTest.DebitTest
Error Test.BankDemo.AccountTest.FreezeTest
0/3 test(s) Passed, 3 Error
Summary
-------
Test Run Error.
Error 3
--------
Total 3
Это команда, которую я использовал
OpenCover\OpenCover.Console.exe -register:user
-output:"Codecoverage.xml"
-mergebyhash
-target:"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe"
targetargs:"/testcontainer:
"C:\TEMP\BankDemo_mstest\Test_BankDemo\bin\Debug\Test_BankDemo.dll"
/noisolation"
-filter:"-[Bank.*]* +[Bank*]* +[Bank.Accounts*]* -[Test.BankDemo*]*"
ReportGenerator\bin\ReportGenerator.exe Codecoverage.xml Coverage HTML
(я даже пытался зарегистрировать regsvr32 профиль, и я использую XP)
Фактически я начинаю с Nunit, mstest и opencoverage, и я нашел образец Unit tes т случай на http://www.nunit.org/index.php?p=quickStart&r=2.4 так
** Nunit тестового класса, как показано ниже **
private TestContext testContextInstance;
public TestContext TestContext
{
get { return testContextInstance; }
set { testContextInstance = value; }
}
private int store;
[TestInitialize()]
public void TestFixtureSetUp()
{
store = 1;
}
выше класс отлично работает с NUnit и Opencoverage также показывают точные данные, но и то же класс после замены MSTest конкретных атрибутов не работали так после публикации этого квеста я понял, что этот метод должен быть статическим и добавить аргумент TestContext. поэтому я сделал изменения кода (жирным шрифтом), так как команда ниже работала нормально.
MSTest класс
private TestContext testContextInstance;
public TestContext TestContext
{
get { return testContextInstance; }
set { testContextInstance = value; }
}
[ClassInitialize()]
public **static** void ClassInit(**TestContext context**)
{
}
спасибо за ответ, что это вопрос с MSTest класса – sureshp
возможно, но даже если ваши тесты не работают , вы получите покрытие из-за настройки теста и срыва, и ваши фильтры по-прежнему выглядят неправильно :) –