Chciałbym wykluczyć hashCode
i equals
z raportu koniczyny.
Przykład konfiguracji może być przyjemny.Jak wykluczyć metody (hashcode i equals) z raportu dotyczącego pokrycia koniczyny?
Odpowiedz
trzeba zrobić dwa kroki:
1) określa metody konteksty w < koniczyna-setup > zadania zawierającego wyrażeń regularnych do metod, które mają być zgodne, na przykład:
<clover-setup ...>
<methodContext name="equals" regexp="public boolean equals\(.*\)"/>
<methodContext name="hashCode" regexp="public int hashCode\(\)"/>
</clover-setup>
2) określić, które metody konteksty zostają wykluczeni z raportu w koniczynie raporcie < > zadań
<clover-report>
<current outfile="clover_html" title="My Coverage">
<format type="html" filter="equals,hashCode"/>
</current>
Więcej informacji:
Chciałbym wykluczyć hashCode i równa się z raportu koniczyny.
Proponuję z pełnym szacunkiem, aby przetestować te metody zamiast ich unikać. Poważne błędy mogą wystąpić, jeśli nie są zgodne ze specyfikacjami. Napotkałem również NPE i inne problemy w źle napisanych metodach hashCode
i equals
. Oto wielki związek z wielu sposobów, które można przetestować swoje metody:
Używamy następujące LocalEqualsHashCodeTest
które można rozszerzyć za pomocą testów jednostkowych:
Następnie należy zdefiniować metodę, którą należy zastosować, tj. createInstance()
. ch zwraca instancję klasy i metodę createNotEqualInstance()
, która zwraca inną instancję, która nie jest równa pierwszej.
Nie pytałem, kiedy ma sens przetestować equals/hashcode, lub jak to zrobić ale jak je wykluczyć z koniczyny –
To dobrze na MacerMiklas. Chciałem tylko dać ci inny sposób patrzenia na rzeczy. Mnóstwo odpowiedzi na SO nie odnosi się do konkretnego pytania, ale zachęcaj plakat, aby wyglądał inaczej. Faktem jest, że nie wiem, ale uważam, że nie należy ich testować. – Gray
Zabawne, przyjechałem tutaj, szukając sposobu na wykluczenie z mojego kodu cobsergo raportu hashcode i jest równe, ale w rzeczywistości twój sposób (testowanie ich za pomocą tej klasy narzędziowej) wydaje się znacznie lepszy. Więc dziękuję! (Przy okazji, nie rozumiem, dlaczego OP był tak surowy o twojej odpowiedzi ...) – juancancela
- 1. Jak wykluczyć klasy z raportu OpenCover
- 2. pakiety usunąć z raportu pokrycia
- 3. Google App Engine, JDO i equals/hashCode
- 4. Jak mogę uzyskać checkstyle, aby pominąć metody equals() i hashcode() generowane przez eclipse?
- 5. Tworzenie metody hashCode() - Java
- 6. Generowanie equals/hashcode/toString za pomocą adnotacji
- 7. Jak generować metody equals() i hashcode() za pomocą wsimport w jaxws
- 8. Niestandardowa operacja hashcode/equals dla HashMap
- 9. Czy potrzebuję metody equals i Hashcode, jeśli moja klasa implementuje porównywalną w Javie?
- 10. Karma - Stambuł - ścieżka raportu pokrycia kodu
- 11. Dlaczego są metody natywne hashCode() i getClass()?
- 12. Używanie metody equals() z ciągiem i obiektem w języku Java
- 13. Jak dostosować raport pogodowy Jenkins do pokrycia koniczyny na projektach PHP
- 14. Jak wykluczyć fałszywe paczka z raportu Pythona z wykorzystaniem testów nosetests
- 15. Zmienne obiekty i hashCode
- 16. Czy istnieje sposób na dodanie raportu pokrycia do gitlab?
- 17. Jak działa metoda equals() w Javie
- 18. Co powinienem zrobić z hashcode obiektu .NET?
- 19. Błąd podczas tworzenia raportu pokrycia kodu przy pomocy JaCoCo
- 20. Generowanie funkcji hashCode() i equals() podczas tworzenia klas Java za pomocą dodatku Mojo Jaxb2 maven plugin
- 21. wielokrotnego użytku realizacja równych i hashcode
- 22. IComparable i equals()
- 23. Jak wykluczyć pliki/bloki kodu z pokrycia kodu z NetBeans/PHPStorm/phpunit integracyjnych
- 24. PHPSpec i raport pokrycia
- 25. biblioteki Java Platform hashcode
- 26. jak korzystać z raportu jacoco.exec
- 27. Dlaczego adnotacja @Deprecated nie uruchamia ostrzeżenia kompilatora dotyczącego metody?
- 28. Obiekty JAXB - hashcode i jest równy
- 29. Czy ten naiwny jest równy, hashcode OK?
- 30. Jak wykluczać kapsuły z pokrycia kodu w Xcode
Dlaczego nie chcesz, aby przetestować te metody? Myślę, że to pomyłka. – duffymo
wymyśliłeś jakieś rozwiązania? byłoby miło, gdybyś mógł dzielić się – add9
nie .... nadal nie ma rozwiązania, tak naprawdę zignorowałem ten problem na teraz .... –