'здесь выводится ...'
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, и я нашел пример тестового модуля в 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**)
{
}