2017-01-31 18 views
8

Rahibizit.console.exe dosyasını çalıştırırken OpenCover oturumunu çalıştırıyoruz.Hızını arttırmak openCover

"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -output:"%CD%\opencover.xml" -register:user -target:"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" -targetargs:"Solution\our-solution-file.sln --config=Debug --result=%CD%\TestResult.xml;format=nunit2" 
exit 0 

Biz ama o kadar, bu arada nedeniyle enstrümantasyon için normal birim testi daha yavaş olmasını bekliyorduk:

Bizim komut satırı şöyledir.

Kod kapsamı olmadan, birim testleri 1 saat gibi bir şey alır. Ve şu anda, kod kapsamı ile, zaten 3 gün ve 23 saat harcadık ve sadece% 10 daha az çalıştırdığımızı düşünüyoruz.

Bu sonuçlar, SonarQube'e sonradan dışa aktarılmalıdır.

Hızını arttırmak için yapabileceğimiz bir şey var mı (sınama işlemini yürüten bilgisayarı yükseltmek dışında, muhtemelen yine de yapılacaktır)?

Daha az ayrıntılı sonuç almak gibi ...? Biz çoğunlukla kod kapsamı ile ilgileniyoruz, süre ve diğer şeyler bizim için çok ilginç değil. Ya da OpenCover'dan başka bir araç kullanıyorsunuz.

Bunun önemli olup olmadığını bilmiyorum, ancak bu satır jenkins tarafından yürütülür.

+0

60x bir yavaşlama düpedüz saçma: Filtreyi nasıl yaptığını arada,

. Ancak bu SO yanıtı, OpenCover'ın bir özelliği olduğunu öne sürmektedir: http://stackoverflow.com/a/26225013/120163 Konu ve kuyruk kullanma konusundaki sözler oldukça şaşırtıcıdır; Bunlar, aracın çalışma zamanı çekirdeğinin bir parçasıysa kullanılabilecek çok yavaş mekanizmalardır. Uygulamaya% 15-20 ek yük eklenmesi için iyi bir test kapsamı aracı bekliyorum. . Semantik Tasarımlar (firmamın) araçları bu özelliğe sahiptir. (Bakınız bio). –

cevap

2
Bir büyük gelişme fark ettiniz bazı şeyleri deneyerek

:

Ben openCover enstrümantasyon testleri meclisleri hariç ve şimdi performansları oldukça güzel: Sadece unittests + SonarQube ile

  • 1h06 OpenCover + unittests ile

  • 1h38 + SonarQube

Bu bizim için oldukça kabul edilebilir.

"C:\Program Files (x86)\OpenCover\OpenCover.Console.exe" -filter:"[*]* -[*.Test]*" -output:"%CD%\opencover.xml" -register:user -target:"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" -targetargs:"Solution\our-solution-file.sln --config=Debug --result=%CD%\TestResult.xml;format=nunit2" 
exit 0 
+0

Eh, neyin yanlış olduğundan emin değilim, ama şimdi aynı komut satırı sonsuza kadar tekrar sürüyor, belki bir VM üzerinde olduğu için bir keresinde daha fazla ressource var. – J4N

İlgili konular