Desidero escludere hashCode
e equals
dal rapporto del trifoglio.
Qualche esempio di configurazione sarebbe bello.Come posso escludere metodi (codice hash e uguali) dal rapporto di copertura del trifoglio?
risposta
quello che dovete fare due passi:
1) Definire metodo contesti nel < trifoglio-setup > compito contenente le espressioni regolari per i metodi che si desidera abbinare, per esempio:
<clover-setup ...>
<methodContext name="equals" regexp="public boolean equals\(.*\)"/>
<methodContext name="hashCode" regexp="public int hashCode\(\)"/>
</clover-setup>
2) Definire quali contesti il metodo deve essere escluso dal rapporto nel < trifoglio-report > compito
<clover-report>
<current outfile="clover_html" title="My Coverage">
<format type="html" filter="equals,hashCode"/>
</current>
Maggiori informazioni:
Vorrei escludere hashCode ed equals dal report del trifoglio.
Vorrei rispettosamente suggerire di testare effettivamente questi metodi invece di evitarli. Si possono verificare errori gravi se non sono coerenti con le specifiche. Ho riscontrato problemi con NPE e altri problemi nei metodi scritti male hashCode
e equals
. Ecco una grande legame con un certo numero di modi in cui è possibile testare i vostri metodi:
Noi utilizzare il seguente LocalEqualsHashCodeTest
che può essere prorogato di un test di unità:
Si definisce quindi un metodo createInstance()
whi ch restituisce un'istanza della classe e un metodo createNotEqualInstance()
che restituisce un'altra istanza che non è uguale alla prima.
Non ho chiesto quando ha senso testare equals/hashcode, o come fare ma come escluderli dal trifoglio –
Va bene @MaciejMiklas. Volevo solo darti un modo diverso di guardare le cose. Tonnellate di risposte su SO non rispondono alla domanda specifica ma incoraggiano il poster a guardarlo in modo diverso. Il fatto è che non lo so, ma ritengo una cattiva pratica non metterli alla prova. – Gray
Divertente, sono venuto qui cercando un modo per escludere dal mio sito di cobertura un rapporto di hashcode e uguali, ma in realtà il tuo modo (testarli con quella classe di utilità) sembra molto meglio. Quindi grazie! (a proposito, non capisco perché l'OP era così dura per la tua risposta ...) – juancancela
- 1. Escludere determinati percorsi dal rapporto di copertura di Devel :: Cover
- 2. Escludere metodi specifici dalla copertura del codice da Cobertura?
- 3. Come escludere i file dal report di copertura del codice karma?
- 4. pacchetti Togliere dal rapporto di copertura
- 5. Copertura del codice per i metodi asincroni
- 6. Escludere la directory di base da PHPUnit Copertura del codice
- 7. Uso di .runsettings per escludere assemblee dalla copertura del codice
- 8. Come escludere classi da un rapporto OpenCover
- 9. Esiste un modo per escludere file/cartelle dal punteggio di copertura del test di copertura?
- 10. TDD e copertura del codice
- 11. Escludi cartella nel rapporto di copertura jacoco
- 12. Come escludere i file/blocchi di codice da copertura del codice con Netbeans/PhpStorm/PHPUnit integrazione
- 13. Come regolare meteo Jenkins per la copertura di trifoglio su PHP progetti
- 14. Java - Copertura del codice
- 15. Test unità Elm e copertura del codice
- 16. Copertura del codice in Studio Android
- 17. copertura del codice finally
- 18. SAP - Risultati dell'analizzatore di copertura del codice
- 19. Come escludere il codice sorgente dalla misurazione della copertura in IntelliJ IDEA?
- 20. Posso escludere alcuni metodi dall'istanza del modello manuale?
- 21. trifoglio: come funziona?
- 22. Come impostare la copertura del codice runner Karma?
- 23. jUnit: come determinare il livello di copertura del codice?
- 24. IntelliJ: esclude alcune classi (pacchetti) dal rapporto di copertura del test
- 25. Qual è la differenza tra "copertura totale" e "copertura del codice" in rcov?
- 26. Copertura del codice in clang
- 27. Copertura del codice in monotouch
- 28. Valori di copertura del codice/copertura consigliata valori
- 29. Misurare la copertura del codice solo sul nuovo codice
- 30. unicità del codice hash
perché non si vuole mettere alla prova questi metodi? Penso che sia un errore. – duffymo
hai trovato qualche soluzione per questo? sarebbe davvero bello se tu potessi condividere – add9
no .... ancora nessuna soluzione, in realtà ho ignorato questo problema per ora .... –