「ここに出力があります...」
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
(私はプロファイルを登録するためにzippy32を試しましたが、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**)
{
}