2016-04-13 12 views
0

コードカバレッジ

これは私がFirefoxを開き、それがすべてnecesaryの手順を経るため、テストが実行されることを見ることができます私のコマンドプロンプトから

C:\myapp\Main\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:"C:\Program Files (x86)\NUnit 2.6.4\bin\nunit-console.exe" -register:user -targetargs:"C:\myapp\Main\myapp.SeleniumTests\bin\Debug\myapp.seleniumTests.dll /result=c:\TestRunner\SeleniumResults.xml /include:Single" 

を実行しているラインです。そのが行われたら、私は「Visistedクラス0 309の」私は

-searchdirs:"C:\myApp\Main\MainWebProject\bin" 

を追加しようとしたが、まだそれが戻っていないカバレッジが付属しています

得ます。

私には何が欠けていますか?

+0

あなたの「Seleni umテスト "? OpenCoverは、テスト中のアプリケーションとして 'myapp.seleniumTests.dll'を探しています。 – SiKing

答えて

1

OpenCoverはロードされ、ターゲット・プロセスによって実行されている.NETアセンブリのカバレッジを提供し、それは子プロセスをです。

私は、あなたのWebアプリケーションは、あなたのテストがOpenCoverが実際にそのコードをプロファイリングされていない実行しているにもかかわらず、そのコンテキストでそのように実行されていない疑いがあります。したがって、同じコンテキストでWebアプリケーションを実行する必要があります。iisexpressを使用することをお勧めします。

今、あなたは、テストアセンブリを考えることもできるし、なぜあなたはNUnitのコンソールと/ noshadowオプションを使用してみてくださいだけでなく、それらのアセンブリのカバレッジを取得されていません。

+0

iisExpressを使用してWebアプリケーションを同じコンテキストで実行する方法に関する指示はありますか?私は提供されたドキュメントを調べて、iisExpressの明確なセクションはありません。 – NicoTek

+0

ok他の投稿のビットとピースを見つけて、動作させることができました。完全なスクリプトが完成したら投稿します。ありがとう! – NicoTek

+0

私はおそらく、テスト・セットアップの一部としてProcess.Startを使用したり、おそらくiisexpressを開始し、NUnitのとバッチスクリプトを実行するためにOpenCoverを取得するために、バッチスクリプトを使用していると思います。 –

0

[OK]を私はそれを実行させることができました。

C:\MyApp\Main\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:"C:\Users\Me\Desktop\TestRunnerWithServer.bat" -register:user -searchdirs:"C:\MyApp\Main\MainWebProject\bin" 
:それは、トラブルIISはスクリプトがに出てきた私は

cd c:\MyApp\Main\MainWebProject\Bin 

に行くコンソールで

最初の表現からサイトを登録する必要がありますされていない場合Visual Studioが、閉じていることが重要です

"TestRunnerWithServer.bat"ファイルには次のステップがあります

del "C:\TestRunner\TestResults.xml" 
del "c:\TestRunner\SeleniumResults.xml" 

call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 

rem go to the folder of the project with the unit tests 
CD C:\MyApp\Main\MyTestsProject\bin\Debug 

rem Run Unit Tests 
MStest /testcontainer:MyTestsProject.dll /resultsfile:C:\TestRunner\TestResults.xml 

rem now start IIS Express in a different window 
cd C:\Program Files (x86)\IIS Express\ 
start iisexpress.exe /site:MainWebProject /config:C:\MyApp\Main\.vs\config\applicationhost.config 

CD C:\Program Files (x86)\NUnit 2.6.4\bin 

rem Run Selenium Tests 
nunit-console C:\MyApp\Main\MyApp.SeleniumTests\bin\Debug\MyApp.seleniumTests.dll /result=c:\TestRunner\SeleniumResults.xml /noshadow 

rem Close IISExpress 
taskkill /IM iisexpress.exe 
関連する問題