2012-01-03 27 views
5

Yonca raporundan hashCode ve equals'u hariç tutmak istiyorum.
Bazı yapılandırma örnekleri güzel olurdu.Yonca kapsama raporundan nasıl bir yöntemi (hashcode ve equals) hariç tutabilirim?

+3

Neden bu yöntemleri test etmek istemez ki? Bence bu bir hata. – duffymo

+0

bunun için herhangi bir çözüm buldunuz mu? Eğer – add9

+0

no paylaşabilirsiniz eğer gerçekten güzel olurdu .... hala bir çözüm, aslında ben şu anda bu sorunu görmezden geldim .... –

cevap

1

Sen iki adım yapmak zorunda

<clover-setup ...> 
    <methodContext name="equals" regexp="public boolean equals\(.*\)"/> 
    <methodContext name="hashCode" regexp="public int hashCode\(\)"/> 
</clover-setup> 

2) hangi yöntemin bağlamlarda < yonca-raporda > görev raporun dışı bırakılır Define

<clover-report> 
    <current outfile="clover_html" title="My Coverage"> 
    <format type="html" filter="equals,hashCode"/> 
    </current> 

fazla bilgi:

3

Hashcode'ı hariç tutmak ve yonca raporuna eşittir.

Saygılı bir şekilde, bu yöntemleri bunlardan kaçınmak yerine test etmenizi öneririm. Teknik özelliklerle tutarlı değilse ciddi hatalar oluşabilir. NPE'leri ve diğer sorunları da iyi yazılmış hashCode ve equals yöntemleriyle de karşılaştım. Burada yöntemlerinizi test edebilirsiniz çeşitli şekillerde ile büyük link:

How should one unit test the hashCode-equals contract?

Biz kullandığınız bir birim testi ile uzatılabilir aşağıdaki LocalEqualsHashCodeTest:

http://pastebin.com/L03fHAjv

Daha sonra createInstance() yöntem WHI tanımlamak ch, sınıfınızın bir örneğini ve ilkine eşit olmayan başka bir örneği döndüren createNotEqualInstance() yöntemini döndürür. Örneğin, eşleştirmek istediğiniz yöntemleri için normal ifadeleri içeren < yonca-kurulum > görev

1) tanımla yöntem bağlamları:

+3

Ne zaman eşittir/hashcode test etmek için mantıklı ya da nasıl yapacağını sormadım o, ama yonca –

+3

dışarıda bırakmak nasıl Bu @MaciejMiklas iyidir. Sadece sana bir şeylere bakmanın farklı bir yolunu vermek istedim. SO'daki cevapların tonları, belirli bir soruyu ele almıyor, posteri farklı bir şekilde görmeye teşvik ediyor. Gerçek şu ki bilmiyorum ama onları test etmemenin kötü bir uygulama olduğunu düşünüyorum. – Gray

+2

Komik, ben cobertura site raporu hashcode ve eşittir benim dışlamak için bir yol arıyorum geldi, ama aslında yolunuzu (bu program sınıfı ile test) çok daha iyi görünüyor. Yani teşekkürler! (btw, OP'nin cevabınız konusunda neden bu kadar sert olduğunu anlamıyorum ...) – juancancela

İlgili konular