Supposons que vous ayez la logique suivante en place:esprit d'un test JUnit
processMissing(masterKey, masterValue, p.getPropertiesData().get(i).getDuplicates());
public StringBuffer processMissing(String keyA, String valueA, Set<String> dupes) {
// do some magic
}
Je voudrais écrire un test JUnit pour processMissing, tester son comportement en cas dupant est nul.
Est-ce que je fais la bonne chose ici? Dois-je vérifier comment la méthode gère sous null, ou peut-être tester la méthode call pour s'assurer que null n'est jamais envoyé?
D'une manière générale, quelle est l'approche ici? Nous ne pouvons pas tout tester pour tout. Nous ne pouvons pas non plus gérer tous les cas possibles. Comment devrait-on penser au moment de décider quels tests écrire?
Je pensais comme ceci:
- J'ai une certaine attente avec la méthode
- test doit confirmer définir mes attentes et confirmer méthode fonctionne sous cette condition
Est-ce la bonne façon d'y penser?
Merci et s'il vous plaît laissez-moi savoir
Je l'aurais dit explicitement jeter une exception IllegalArgumentException ou NullPointerException dans la méthode. Mais je me demande si cela est en quelque sorte remplacé par les annotations. Certes, je ne compterais pas sur l'outil d'analyse statique, à moins que cela fasse partie d'un processus de construction/test. – orbfish
Personnellement, je trouve les annotations généralement suffisantes - en supposant que l'analyse statique est réellement effectuée, de préférence dans le cadre de la construction. –