2016-04-13 31 views
0

OpenCover'ı nuget üzerinden kurdum. Bir Selenyum Testinin Kod Kapsamı

Bu

ben FireFox açılıyor çünkü testi çalıştığını görebilirsiniz

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" 

İstemi benim Komutanlığı'ndan koşuyorum çizgidir ve tüm necesary adımları uygular. onun yapılması kez ama "visisted Sınıfları 0 309" Ben

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

ekleyerek denedim ama yine de geri hiçbir kapsama ile gelir

olsun.

Neyi eksik?

+0

size "Seleni için herhangi bir test yazdın vardır um testleri "? OpenCover, Uygulama Altında Test olarak "myapp.seleniumTests.dll" dosyasına bakıyor. – SiKing

cevap

1

OpenCover, yalnızca hedef işlem ve çocuk işlemleri tarafından yüklenen ve yürütülen .net meclislerinin kapsamını sağlar.

Web uygulamanızın bu bağlamda çalışmadığından şüpheleniyorum ve testleriniz açık olsa bile OpenCover aslında bu kodu profillemiyor. Yani web uygulamanızı aynı bağlamda çalıştırmanız gerekiyor - Bunun için iisexpress kullanmanızı tavsiye ederim.

Şimdi test meclislerini düşünebilirsiniz ve neden bu meclisleri kapsamadığınızı iyi düşünmüyorsunuz, nasihat konsolu ile/noshadow seçeneğini kullanmayı denemelisiniz.

+0

Web uygulamamı aynı bağlamda çalıştırmak için iisExpress'i kullanma konusunda herhangi bir talimat var mı? Sağlanan belgelere bakıyorum ve iisExpress – NicoTek

+0

için net bir bölüm yok. Tamam, diğer yazılardan parça ve parçalar buldum ve çalışmasını sağlayabiliyordum. Tamamen çalıştıktan sonra tam bir komut yayınlayacaktır. Teşekkürler! – NicoTek

+0

Muhtemelen Process.Start'ı test kurulumunun bir parçası olarak kullandım veya belki iisexpress'i başlatmak için bir batch betiği kullanıp daha sonra rahibe kullanıp OpenCover'ı toplu betiği çalıştırmak için kullanırdım. –

0

Tamam Çalıştırmayı başardım.

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" 
: O sorun iis komut için çıktı ben

cd c:\MyApp\Main\MainWebProject\Bin 

gitmek konsolda

ilk ifade siteyi kayıt olacak değilse Visual Studio, kapalı olduğunu önemlidir

dosyası "TestRunnerWithServer.bat" aşağıdaki adımları

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