2012-01-03 1 views
5

hashCodeequals을 클로버 신고에서 제외하고 싶습니다.
일부 구성 예는 좋을 것입니다.클로버 적용 범위 보고서에서 해시 코드와 같음 메소드를 제외하려면 어떻게해야합니까?

+3

왜 당신이 그 방법을 테스트하고 싶지 않아요? 나는 그것이 실수라고 생각한다. – duffymo

+0

이것에 대한 해결책을 알아 냈습니까? 만약 당신이 – add9

+0

을 공유 할 수 있다면 정말로 좋을 것입니다. 아직 해결책이 없습니다. 사실 지금은이 문제를 무시했습니다. ... –

답변

1

은 두 단계를 수행해야

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

2) 어떤 방법이 상황은 < 클로버 보고서 > 작업에 보고서에서 제외한다 정의합니다

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

더 많은 정보 :

3

해시 코드와 같음을 클로버 보고서에서 제외하고 싶습니다.

저는이 방법을 피하는 대신 실제로 테스트 해 보라고 제안합니다. 그들이 사양과 일치하지 않으면 심각한 버그가 발생할 수 있습니다. 나는 NPE와 다른 문제를 겪었습니다. hashCodeequals 방법이 있습니다. 다음은 방법을 테스트 할 수있는 방법의 번호와 좋은 링크입니다 :

How should one unit test the hashCode-equals contract?

우리 사용하는 단위 테스트에 의해 확장 될 수있는 다음 LocalEqualsHashCodeTest :

http://pastebin.com/L03fHAjv

그런 다음 createInstance() 메서드를 정의합니다. ch는 클래스의 인스턴스와 첫 번째 인스턴스와 다른 인스턴스를 반환하는 createNotEqualInstance() 메서드를 반환합니다. 예를 들어, 일치시킬 방법에 대해 정규 표현식을 포함하는 < 클로버 설치 > 작업에

1) 정의 방법 컨텍스트 :

+3

equals/hashcode를 테스트하는 것이 당연하다고 생각할 때마다 묻지 않았습니다. 그것, 그러나 클로버에서 그들을 제외하는 방법 –

+3

그것은 좋은 @MaciejMiklas 다. 나는 당신에게 사물을 보는 다른 방법을주고 싶었습니다. SO에 대한 수많은 답변은 특정 질문을 다루지는 않지만 포스터가 다르게 보는 것을 권장합니다. 사실은 모르지만 테스트하지 않는 것은 나쁜 습관이라고 생각합니다. – Gray

+2

웃긴, 나는 여기에 와서 내 cobertura 사이트에서 hashcode와 equals를 제외시키는 방법을 찾고자했다. 그러나 실제적으로 (유틸리티 클래스로 테스트하는) 훨씬 더 좋아 보인다. 감사합니다! (btw, 나는 왜 OP가 당신의 대답에 대해 너무 가혹했는지 이해하지 못한다 ...) – juancancela