[JAVA] Je voulais ajouter @VisibleForTesting à la méthode

VisibleForTesting vue d'ensemble

Exemple de code source

@VisibleForTesting
protected void doSomething() {
  // ...
}

Je n'ai jamais su qu'il y avait une telle annotation. Eh bien, je pense qu'il est plus facile de comprendre en un coup d'œil: "Pourquoi est-il protégé?" Si c'est un projet qui utilise de la goyave, il peut être judicieux de l'essayer.

À propos, le package private a une plage de divulgation plus étroite que celle protégée, il peut donc être plus sûr de le garder privé. (Je pense que je l'ai écrit dans l'introduction à la pratique Junit ...)

Est-il beaucoup utilisé?

Lorsque je recherche sur GitHub, cela ressemble à une annotation qui est utilisée telle quelle. Certains projets à Kotlin ont également Visible For Testing.

Existe-t-il d'autres annotations similaires?

com.google.common.annotations Visible For Testing est le seul qui semble être utilisable en entreprise.

Contexte de l'écriture de ceci

J'ai écrit Java pour la première fois depuis quelques années et j'ai beaucoup appris, alors j'en ai pris note. Peut-être que si vous êtes une personne qui écrit des applications Android quotidiennement, est-ce un niveau de bon sens?

Recommended Posts

Je voulais ajouter @VisibleForTesting à la méthode
L'histoire que je voulais développer Zip
J'étais accro à la méthode du rouleau
4 Ajoutez println à l'interpréteur
Je veux appeler la méthode principale en utilisant la réflexion
[Commentaire approximatif] Je veux épouser la méthode du pluck
Je souhaite ajouter une fonction de suppression à la fonction de commentaire
Je souhaite utiliser la méthode de désinfection autre que View.
Comment utiliser la méthode link_to
Ajouter des attributs étendus au fichier
Comment utiliser la méthode include?
Comment ajouter la fonction de suppression
J'ai essayé de comprendre comment la méthode des rails "redirect_to" est définie
Méthode pour additionner le nombre d'années et obtenir la fin du mois
Je veux ajouter l'option désactivée à f.radio_button en fonction de la condition
J'ai essayé de comprendre comment la méthode des rails "link_to" est définie
Je voulais faciliter la programmation JavaFX avec Spring Framework
[Java] J'ai essayé de faire un labyrinthe par la méthode de creusage ♪
J'ai essayé de résumer les méthodes utilisées
[Ruby] Des bases à la méthode inject
[Rails] Comment utiliser la méthode de la carte
[Java] Comment utiliser la méthode toString ()
J'ai essayé d'implémenter le modèle Iterator
J'étais accro au test Spring-Batch
J'ai essayé de résumer l'API Stream
Je suis allé au Java Women's Club # 1
Je veux passer l'argument d'Annotation et l'argument de la méthode d'appel à aspect
Après tout, je voulais prévisualiser le contenu de mysql avec Docker ...
[Rails] J'ai essayé de faire passer la version de Rails de 5.0 à 5.2
J'ai essayé d'organiser la session en Rails
Ce que j'ai essayé quand je voulais obtenir tous les champs d'un haricot
Méthode de recherche
[Ruby] Je veux faire un saut de méthode!
Je veux var_dump le contenu de l'intention
Je voulais que (a == 1 && a == 2 && a == 3) vrai en Java
Lorsque vous souhaitez utiliser la méthode à l'extérieur
Sortie de la façon d'utiliser la méthode slice
Code utilisé pour connecter Rails 3 à PostgreSQL 10
À propos de la méthode
Quand j'ai voulu créer une méthode pour Premium Friday, c'était déjà dans l'API standard Java 8
Comment utiliser la méthode replace () (Java Silver)
Ajouter classpath: au chemin spécifié dans spring.datasource.schema
J'ai essayé de configurer tomcat pour exécuter le servlet.
Je veux tronquer après la virgule décimale
Je voulais classer la botte à ressort dans un multi-projet
Je voulais démarrer un serveur AP et déboguer avec juste la commande Maven
[JDBC ③] J'ai essayé d'entrer à partir de la méthode principale en utilisant des espaces réservés et des arguments.
Présentation de ce que j'ai fait lorsque je voulais ajouter un en-tête et un pied de page à RecyclerView
Je veux obtenir la valeur en Ruby
[Introduction à Ruby] Comment utiliser la méthode slice
J'étais accro à NoSuchMethodError dans Cloud Endpoints
J'ai essayé ce que je voulais essayer avec Stream doucement.
Je veux appeler une méthode d'une autre classe
[Java] Je souhaite calculer la différence par rapport à la date
Je veux intégrer n'importe quel TraceId dans le journal