Merhabalar arkadaşlar;
Geçen haftayı hatırlayacak olursak NUnit Gui Tool kullarak hatalarımızı tespit etmiştik. Bu hafta sizlere Unit Testlerimizi oluştururken Code Coverage yapmanın öneminden bahsedeceğim. Code Coverage, yaztığımız testlerin kontrol ettiği kodun, yazdığımız koda oranı demek. Ben genelde % olarak baz alındığını gördüm. Code coverage’ımız ne kadar yüksekse unit testlerimizden faydalanma oranımız da o derece yüksektir. Başka bir deyişle bir kodumuzda bir hata olduğunda, hata cover etmediğimiz bir kod bölümüne denk gelmişse biz bunu unit testler ile bulamayacağız demektir. Daha başka bir deyişle “Code Coverage” hataları tespit etmede kullanılan önemli bir kavramdır.
Visual Studio Code Coverage Özelliğini Açmak
Visual Studio 2012 üzerinde geliştirdiğimiz Test Driven
uygulamaların ne kadarının test kapsamında olduğunu anlamak için code coverage
aracından faydalanırız. Tabi bu özellik Visual Studio default test aracıyla
çalışırken geçerli. Piyasadaki diğer test araçlarını kullanıyorsanız onlara
göre ayar yapmalısınız. Visual Studio üzerine dotCover Tool'u kurulması gerekir.
dotCover yazılımcıların UnitTestleri ne ölçüde bildiklerinden emin kılmak için üretilmiş bir tooldur. Şu anda 4 Visual Studio sürümü dotCover ile entegre olmuş durumdadır. Visual Studio 2005,2008,2010,2012 ve 2013 sürümleridir.
dotCover yazılımcıların UnitTestleri ne ölçüde bildiklerinden emin kılmak için üretilmiş bir tooldur. Şu anda 4 Visual Studio sürümü dotCover ile entegre olmuş durumdadır. Visual Studio 2005,2008,2010,2012 ve 2013 sürümleridir.
Unit Testlerin Çalıştırılması ve Yönetimi
dotCover bir başka UnitTest geliştirme aracı olan ReSharper ile birlikte çalışmaktadır.Runner, Visual Studio çalışan oturumları aracılığıyla yönetme Unit Testleri verir ve birden çok birim test çerçeveleri destekler: MSTest, NUnit, xUnit ve MSpec.
Visual Studio üzerinde Coverage Basamakları
Coverage Datayı görselleştirmek için dotCover editörü sayesinde covered ya da uncovered kod satırlarını birbirinden ayırabiliriz.dotCover bunu kendi belirlediği özel renklendirme yöntemiyle yapmaktadır.
Filtreleme ve Harici Düğümleme Olayı
Bazen kodlama yaparken covered data solution penceresini görmek istemeyebilirsiniz. Özel bir proje geliştirirken belirli metodlarını yada sabit değişkenleri test olayına dahil etmek istemeyebilrsiniz. Aşağıda vereceğim örnekte Obsolete Attribute olaya dahil edilmek istenmemiştir. Filtreler belirli özelliklere sahip işaretlenmiş (ya da işaretli değil) coverage filtelerinin kod toplama özelliğinden faydalanılarak yapılandırılır.Bu duruma alternatif olarak, kapsama verilerini seçtiğiniz halde harici düğümleme ile kapsama ağacından belirli düğümleri seçebilirsiniz. dotCover bu durumda kapsama istatistiklerini yeniden hesaplar.
Code Coverage özelliği daha çok büyük projelerde kullanıldığı için sizlere internetten indirdiğim servis uygulaması ile göstermeye çalışacağım. Bu sayede hem görsel olarak daha rahat kavrayıp, yapmamız gerekenleri belirlemede işlevsel basamakları kullanacağız.
Visual Studio Entegrasyonu
dotCover Visual Studio üzerine entegre edilerek code editore gerek kalmadan sonucçları analiz etmenize ve görselleştirmenize yarar.
Code Coverage yaparken if-else blokları sayesinde testin durması ya da devam etmesi için şartlar koyabilirz. Şöyleki projenin belirli kısımlarında seçilen kod satırının %100'ü coverage yapıldığı zaman testin durmasını isteyebiliriz.
Bu haftalık anlatacaklarım bu kadar arkadaşlar, haftaya Unit Test yaparken Mock Object'lerin kullanımını göreceğiz. Yazımı burada sonlandırıyorum haftaya görüşmek üzere hoşçakalın..
Referanslar
1)http://www.ncover.com/support/docs/v3/how-to/running-ncover-with-your-unit-testing-framework/nunit
2)http://codefez.com/nunit-and-code-coverage-with-ncover/
Hiç yorum yok:
Yorum Gönder