Icônes SCW
héros bg sans séparateur
Blog

JUnit 5의 메서드 및 클래스 가시성 수정

Alan Richardson
Publié le 21 décembre 2020
Dernière mise à jour le 9 mars 2026

Modification de la visibilité des méthodes et des classes pour JUnit 5

L'une des joies de la programmation est l'apprentissage constant nécessaire pour rester à jour. L'un des problèmes est que nous développons une familiarité et des schémas d'utilisation qui peuvent avoir un impact sur l'adoption de nouvelles approches. Sensei peut aider à la migration en identifiant les schémas obsolètes et en nous indiquant le correctif à utiliser pour aller de l'avant.

Par exemple, lorsque j'ai migré de JUnit 4 à JUnit 5, j'avais l'habitude d'écrire toutes mes classes et méthodes de test en tant que publiques. Mais avec JUnit 5, elles peuvent être privées.

par exemple, au lieu de :

public class Junit5VisibilityTest {
    @Test
    public void thisDoesNotNeedToBePublic(){
        Assertions.assertTrue(true);
    }
}


J'ai vraiment envie d'écrire :

class Junit5VisibilityTest {
    @Test
    void thisDoesNotNeedToBePublic(){
        Assertions.assertTrue(true);
    }
}


Il m'a fallu un certain temps pour acquérir la mémoire musculaire nécessaire pour coder ainsi, et je commets encore des erreurs de temps à autre.

L'utilisation Sensei

Avec Sensei , je peux créer des recettes qui trouvent les méthodes et les classes publiques et modifient automatiquement les déclarations pour les rendre privées.

Pour ce faire, j'ai créé une recette :

Nom - JUnit : Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques
Description - Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques
Niveau - Erreur


Je l'ai classé comme erreur parce que je veux éradiquer cette pratique de codage et je veux une plus grande visibilité du problème lorsque j'écris du code dans l'IDE.

Modification de la déclaration de classe

Pour trouver les classes, je recherche toute classe qui a une annotation enfant de @Test dans Junit 5, c'est-à-dire org.junit.jupiter.api.Test.

Et lorsque la classe a le modificateur public :

search :
class :
with :
child :
annotation :
type : "org.junit.jupiter.api.Test"
modifier : "public"

Ensuite, la solution rapide modifie le modificateur pour supprimer la visibilité afin qu'il devienne la valeur par défaut, et la valeur par défaut est package private, ce qui est ce que je recherche.

availableFixes :
- name : "remove public visibility from JUnit 5 Test class"
actions :
- changeModifiers :
visibility : ""



Modifier les déclarations de méthode

La recette de l'amendement de la déclaration de méthode est à peu près la même que celle de la classe.

Tout d'abord, je recherche les méthodes publiques annotées avec @Test dans JUnit 5.

search :
method :
annotation :
type : "org.junit.jupiter.api.Test"
modifier : "public"


Je modifie ensuite le modificateur pour qu'il devienne la visibilité par défaut.

availableFixes :
- name : "Remove @Test method public visibility"
actions :
- changeModifiers :
visibility : ""


Conseil : modification de plusieurs méthodes

Sensei a la possibilité d'appliquer la correction rapide à toutes les violations du fichier en cours.

Lorsque j'utilise alt+enter pour appliquer le QuickFix.

Si je développe le menu du nom QuickFix, je peux voir une option pour :

"Fix All : 'JUnit : Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques' dans le fichier"

Lorsque je sélectionne cette option, Sensei modifie toutes les occurrences du problème, et pas seulement celle que je sélectionne.


Supprimer la méthode d'essai Visibilité publique

Modifier la classe

De même qu'une méthode n'a pas besoin d'être publique, la classe n'a pas besoin de l'être non plus.

Je peux créer une recette et un QuckFix pour modifier la classe.

Nom - JUnit : Junit 5 Test classes do not need to be public
Description - Junit 5 Test classes do not need to be public
Niveau - Erreur


Lorsque je trouve une classe qui est publique et qui a une méthode avec une annotation @Test. Je souhaite alors modifier la visibilité.

search :
class :
modifier : "public"
anyOf :
- child :
method :
annotation :
type : "Test"


Je peux à nouveau modifier la définition de la classe à l'aide de l'action changeModifiers.

availableFixes :
- name : "Remove @Test class public visibility"
actions :
- changeModifiers :
visibility : ""


Résumé

Un outil d'analyse statique m'a initialement alerté sur cette approche recommandée dans JUnit. Mais l'outil d'analyse statique ne m'a pas aidé à développer la mémoire musculaire nécessaire pour modifier mon code au fur et à mesure que je programme.

Utilisez le "niveau" pour vous alerter. Lorsqu'il s'agit d'un problème que j'essaie d'éliminer de mon codage, je commence par le mettre à "Erreur", puis je le réduis au fur et à mesure que je me désintéresse de l'approche du codage.

N'oubliez pas que vous pouvez utiliser Sensei pour corriger tous les problèmes du fichier actuel en même temps, en utilisant l'option du menu déroulant lors de l'application de la correction rapide.

En créant une recette Sensei , je peux voir mon ancienne approche de codage en temps réel. Et la corriger rapidement, pour renforcer l'approche si je commets parfois des erreurs de codage.

---

Vous pouvez installer Sensei à partir d'IntelliJ en utilisant "Preferences \ Plugins" (Mac) ou "Settings \ Plugins" (Windows) puis en recherchant simplement "sensei secure code".

Le code source et les recettes se trouvent dans le dépôt `sensei-blog-examples` sur le compte GitHub Secure Code Warrior , dans le module `junitexamples`.



Consulter les ressources
Consulter les ressources

Sensei가 더 이상 사용되지 않는 패턴을 식별하고 향후 사용할 수정 사항을 알려줌으로써 마이그레이션을 어떻게 지원할 수 있는지 알아보십시오.

Souhaitez-vous en savoir davantage ?

Alan Richardson a plus de vingt ans d'expérience professionnelle dans le domaine des technologies de l'information. Il a travaillé en tant que développeur et à tous les niveaux de la hiérarchie des tests, du testeur au responsable des tests. Responsable des relations avec les développeurs à l'adresse Secure Code Warrior, il travaille directement avec les équipes pour améliorer le développement de codes sécurisés de qualité. Alan est l'auteur de quatre livres, dont "Dear Evil Tester" et "Java For Testers". Alan a également créé une formation en ligne courses pour aider les gens à apprendre les tests techniques sur le Web et Selenium WebDriver avec Java. Alan publie ses écrits et ses vidéos de formation sur SeleniumSimplified.com, EvilTester.com, JavaForTesters.com et CompendiumDev.co.uk.

En savoir plus

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.

Veuillez prendre rendez-vous pour une démonstration.
Destinataires :
marques LinkedInSocialLogo x
Auteur
Alan Richardson
Publié le 21 décembre 2020

Alan Richardson a plus de vingt ans d'expérience professionnelle dans le domaine des technologies de l'information. Il a travaillé en tant que développeur et à tous les niveaux de la hiérarchie des tests, du testeur au responsable des tests. Responsable des relations avec les développeurs à l'adresse Secure Code Warrior, il travaille directement avec les équipes pour améliorer le développement de codes sécurisés de qualité. Alan est l'auteur de quatre livres, dont "Dear Evil Tester" et "Java For Testers". Alan a également créé une formation en ligne courses pour aider les gens à apprendre les tests techniques sur le Web et Selenium WebDriver avec Java. Alan publie ses écrits et ses vidéos de formation sur SeleniumSimplified.com, EvilTester.com, JavaForTesters.com et CompendiumDev.co.uk.

Destinataires :
marques LinkedInSocialLogo x

Modification de la visibilité des méthodes et des classes pour JUnit 5

L'une des joies de la programmation est l'apprentissage constant nécessaire pour rester à jour. L'un des problèmes est que nous développons une familiarité et des schémas d'utilisation qui peuvent avoir un impact sur l'adoption de nouvelles approches. Sensei peut aider à la migration en identifiant les schémas obsolètes et en nous indiquant le correctif à utiliser pour aller de l'avant.

Par exemple, lorsque j'ai migré de JUnit 4 à JUnit 5, j'avais l'habitude d'écrire toutes mes classes et méthodes de test en tant que publiques. Mais avec JUnit 5, elles peuvent être privées.

par exemple, au lieu de :

public class Junit5VisibilityTest {
    @Test
    public void thisDoesNotNeedToBePublic(){
        Assertions.assertTrue(true);
    }
}


J'ai vraiment envie d'écrire :

class Junit5VisibilityTest {
    @Test
    void thisDoesNotNeedToBePublic(){
        Assertions.assertTrue(true);
    }
}


Il m'a fallu un certain temps pour acquérir la mémoire musculaire nécessaire pour coder ainsi, et je commets encore des erreurs de temps à autre.

L'utilisation Sensei

Avec Sensei , je peux créer des recettes qui trouvent les méthodes et les classes publiques et modifient automatiquement les déclarations pour les rendre privées.

Pour ce faire, j'ai créé une recette :

Nom - JUnit : Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques
Description - Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques
Niveau - Erreur


Je l'ai classé comme erreur parce que je veux éradiquer cette pratique de codage et je veux une plus grande visibilité du problème lorsque j'écris du code dans l'IDE.

Modification de la déclaration de classe

Pour trouver les classes, je recherche toute classe qui a une annotation enfant de @Test dans Junit 5, c'est-à-dire org.junit.jupiter.api.Test.

Et lorsque la classe a le modificateur public :

search :
class :
with :
child :
annotation :
type : "org.junit.jupiter.api.Test"
modifier : "public"

Ensuite, la solution rapide modifie le modificateur pour supprimer la visibilité afin qu'il devienne la valeur par défaut, et la valeur par défaut est package private, ce qui est ce que je recherche.

availableFixes :
- name : "remove public visibility from JUnit 5 Test class"
actions :
- changeModifiers :
visibility : ""



Modifier les déclarations de méthode

La recette de l'amendement de la déclaration de méthode est à peu près la même que celle de la classe.

Tout d'abord, je recherche les méthodes publiques annotées avec @Test dans JUnit 5.

search :
method :
annotation :
type : "org.junit.jupiter.api.Test"
modifier : "public"


Je modifie ensuite le modificateur pour qu'il devienne la visibilité par défaut.

availableFixes :
- name : "Remove @Test method public visibility"
actions :
- changeModifiers :
visibility : ""


Conseil : modification de plusieurs méthodes

Sensei a la possibilité d'appliquer la correction rapide à toutes les violations du fichier en cours.

Lorsque j'utilise alt+enter pour appliquer le QuickFix.

Si je développe le menu du nom QuickFix, je peux voir une option pour :

"Fix All : 'JUnit : Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques' dans le fichier"

Lorsque je sélectionne cette option, Sensei modifie toutes les occurrences du problème, et pas seulement celle que je sélectionne.


Supprimer la méthode d'essai Visibilité publique

Modifier la classe

De même qu'une méthode n'a pas besoin d'être publique, la classe n'a pas besoin de l'être non plus.

Je peux créer une recette et un QuckFix pour modifier la classe.

Nom - JUnit : Junit 5 Test classes do not need to be public
Description - Junit 5 Test classes do not need to be public
Niveau - Erreur


Lorsque je trouve une classe qui est publique et qui a une méthode avec une annotation @Test. Je souhaite alors modifier la visibilité.

search :
class :
modifier : "public"
anyOf :
- child :
method :
annotation :
type : "Test"


Je peux à nouveau modifier la définition de la classe à l'aide de l'action changeModifiers.

availableFixes :
- name : "Remove @Test class public visibility"
actions :
- changeModifiers :
visibility : ""


Résumé

Un outil d'analyse statique m'a initialement alerté sur cette approche recommandée dans JUnit. Mais l'outil d'analyse statique ne m'a pas aidé à développer la mémoire musculaire nécessaire pour modifier mon code au fur et à mesure que je programme.

Utilisez le "niveau" pour vous alerter. Lorsqu'il s'agit d'un problème que j'essaie d'éliminer de mon codage, je commence par le mettre à "Erreur", puis je le réduis au fur et à mesure que je me désintéresse de l'approche du codage.

N'oubliez pas que vous pouvez utiliser Sensei pour corriger tous les problèmes du fichier actuel en même temps, en utilisant l'option du menu déroulant lors de l'application de la correction rapide.

En créant une recette Sensei , je peux voir mon ancienne approche de codage en temps réel. Et la corriger rapidement, pour renforcer l'approche si je commets parfois des erreurs de codage.

---

Vous pouvez installer Sensei à partir d'IntelliJ en utilisant "Preferences \ Plugins" (Mac) ou "Settings \ Plugins" (Windows) puis en recherchant simplement "sensei secure code".

Le code source et les recettes se trouvent dans le dépôt `sensei-blog-examples` sur le compte GitHub Secure Code Warrior , dans le module `junitexamples`.



Consulter les ressources
Consulter les ressources

Veuillez remplir le formulaire ci-dessous pour télécharger le rapport.

Nous sollicitons votre consentement pour vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traitons toujours vos informations personnelles avec la plus grande attention et ne les vendons jamais à d'autres entreprises à des fins marketing.

Soumission
icône de réussite scw
icône d'erreur scw
Veuillez activer le cookie « Analytics » pour soumettre le formulaire. Une fois terminé, vous pouvez le désactiver à tout moment.

Modification de la visibilité des méthodes et des classes pour JUnit 5

L'une des joies de la programmation est l'apprentissage constant nécessaire pour rester à jour. L'un des problèmes est que nous développons une familiarité et des schémas d'utilisation qui peuvent avoir un impact sur l'adoption de nouvelles approches. Sensei peut aider à la migration en identifiant les schémas obsolètes et en nous indiquant le correctif à utiliser pour aller de l'avant.

Par exemple, lorsque j'ai migré de JUnit 4 à JUnit 5, j'avais l'habitude d'écrire toutes mes classes et méthodes de test en tant que publiques. Mais avec JUnit 5, elles peuvent être privées.

par exemple, au lieu de :

public class Junit5VisibilityTest {
    @Test
    public void thisDoesNotNeedToBePublic(){
        Assertions.assertTrue(true);
    }
}


J'ai vraiment envie d'écrire :

class Junit5VisibilityTest {
    @Test
    void thisDoesNotNeedToBePublic(){
        Assertions.assertTrue(true);
    }
}


Il m'a fallu un certain temps pour acquérir la mémoire musculaire nécessaire pour coder ainsi, et je commets encore des erreurs de temps à autre.

L'utilisation Sensei

Avec Sensei , je peux créer des recettes qui trouvent les méthodes et les classes publiques et modifient automatiquement les déclarations pour les rendre privées.

Pour ce faire, j'ai créé une recette :

Nom - JUnit : Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques
Description - Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques
Niveau - Erreur


Je l'ai classé comme erreur parce que je veux éradiquer cette pratique de codage et je veux une plus grande visibilité du problème lorsque j'écris du code dans l'IDE.

Modification de la déclaration de classe

Pour trouver les classes, je recherche toute classe qui a une annotation enfant de @Test dans Junit 5, c'est-à-dire org.junit.jupiter.api.Test.

Et lorsque la classe a le modificateur public :

search :
class :
with :
child :
annotation :
type : "org.junit.jupiter.api.Test"
modifier : "public"

Ensuite, la solution rapide modifie le modificateur pour supprimer la visibilité afin qu'il devienne la valeur par défaut, et la valeur par défaut est package private, ce qui est ce que je recherche.

availableFixes :
- name : "remove public visibility from JUnit 5 Test class"
actions :
- changeModifiers :
visibility : ""



Modifier les déclarations de méthode

La recette de l'amendement de la déclaration de méthode est à peu près la même que celle de la classe.

Tout d'abord, je recherche les méthodes publiques annotées avec @Test dans JUnit 5.

search :
method :
annotation :
type : "org.junit.jupiter.api.Test"
modifier : "public"


Je modifie ensuite le modificateur pour qu'il devienne la visibilité par défaut.

availableFixes :
- name : "Remove @Test method public visibility"
actions :
- changeModifiers :
visibility : ""


Conseil : modification de plusieurs méthodes

Sensei a la possibilité d'appliquer la correction rapide à toutes les violations du fichier en cours.

Lorsque j'utilise alt+enter pour appliquer le QuickFix.

Si je développe le menu du nom QuickFix, je peux voir une option pour :

"Fix All : 'JUnit : Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques' dans le fichier"

Lorsque je sélectionne cette option, Sensei modifie toutes les occurrences du problème, et pas seulement celle que je sélectionne.


Supprimer la méthode d'essai Visibilité publique

Modifier la classe

De même qu'une méthode n'a pas besoin d'être publique, la classe n'a pas besoin de l'être non plus.

Je peux créer une recette et un QuckFix pour modifier la classe.

Nom - JUnit : Junit 5 Test classes do not need to be public
Description - Junit 5 Test classes do not need to be public
Niveau - Erreur


Lorsque je trouve une classe qui est publique et qui a une méthode avec une annotation @Test. Je souhaite alors modifier la visibilité.

search :
class :
modifier : "public"
anyOf :
- child :
method :
annotation :
type : "Test"


Je peux à nouveau modifier la définition de la classe à l'aide de l'action changeModifiers.

availableFixes :
- name : "Remove @Test class public visibility"
actions :
- changeModifiers :
visibility : ""


Résumé

Un outil d'analyse statique m'a initialement alerté sur cette approche recommandée dans JUnit. Mais l'outil d'analyse statique ne m'a pas aidé à développer la mémoire musculaire nécessaire pour modifier mon code au fur et à mesure que je programme.

Utilisez le "niveau" pour vous alerter. Lorsqu'il s'agit d'un problème que j'essaie d'éliminer de mon codage, je commence par le mettre à "Erreur", puis je le réduis au fur et à mesure que je me désintéresse de l'approche du codage.

N'oubliez pas que vous pouvez utiliser Sensei pour corriger tous les problèmes du fichier actuel en même temps, en utilisant l'option du menu déroulant lors de l'application de la correction rapide.

En créant une recette Sensei , je peux voir mon ancienne approche de codage en temps réel. Et la corriger rapidement, pour renforcer l'approche si je commets parfois des erreurs de codage.

---

Vous pouvez installer Sensei à partir d'IntelliJ en utilisant "Preferences \ Plugins" (Mac) ou "Settings \ Plugins" (Windows) puis en recherchant simplement "sensei secure code".

Le code source et les recettes se trouvent dans le dépôt `sensei-blog-examples` sur le compte GitHub Secure Code Warrior , dans le module `junitexamples`.



Veuillez consulter le webinaire.
Commencer
En savoir plus

Veuillez cliquer sur le lien ci-dessous pour télécharger le PDF de cette ressource.

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.

Consulter le rapportVeuillez prendre rendez-vous pour une démonstration.
Télécharger le PDF
Consulter les ressources
Destinataires :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Destinataires :
marques LinkedInSocialLogo x
Auteur
Alan Richardson
Publié le 21 décembre 2020

Alan Richardson a plus de vingt ans d'expérience professionnelle dans le domaine des technologies de l'information. Il a travaillé en tant que développeur et à tous les niveaux de la hiérarchie des tests, du testeur au responsable des tests. Responsable des relations avec les développeurs à l'adresse Secure Code Warrior, il travaille directement avec les équipes pour améliorer le développement de codes sécurisés de qualité. Alan est l'auteur de quatre livres, dont "Dear Evil Tester" et "Java For Testers". Alan a également créé une formation en ligne courses pour aider les gens à apprendre les tests techniques sur le Web et Selenium WebDriver avec Java. Alan publie ses écrits et ses vidéos de formation sur SeleniumSimplified.com, EvilTester.com, JavaForTesters.com et CompendiumDev.co.uk.

Destinataires :
marques LinkedInSocialLogo x

Modification de la visibilité des méthodes et des classes pour JUnit 5

L'une des joies de la programmation est l'apprentissage constant nécessaire pour rester à jour. L'un des problèmes est que nous développons une familiarité et des schémas d'utilisation qui peuvent avoir un impact sur l'adoption de nouvelles approches. Sensei peut aider à la migration en identifiant les schémas obsolètes et en nous indiquant le correctif à utiliser pour aller de l'avant.

Par exemple, lorsque j'ai migré de JUnit 4 à JUnit 5, j'avais l'habitude d'écrire toutes mes classes et méthodes de test en tant que publiques. Mais avec JUnit 5, elles peuvent être privées.

par exemple, au lieu de :

public class Junit5VisibilityTest {
    @Test
    public void thisDoesNotNeedToBePublic(){
        Assertions.assertTrue(true);
    }
}


J'ai vraiment envie d'écrire :

class Junit5VisibilityTest {
    @Test
    void thisDoesNotNeedToBePublic(){
        Assertions.assertTrue(true);
    }
}


Il m'a fallu un certain temps pour acquérir la mémoire musculaire nécessaire pour coder ainsi, et je commets encore des erreurs de temps à autre.

L'utilisation Sensei

Avec Sensei , je peux créer des recettes qui trouvent les méthodes et les classes publiques et modifient automatiquement les déclarations pour les rendre privées.

Pour ce faire, j'ai créé une recette :

Nom - JUnit : Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques
Description - Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques
Niveau - Erreur


Je l'ai classé comme erreur parce que je veux éradiquer cette pratique de codage et je veux une plus grande visibilité du problème lorsque j'écris du code dans l'IDE.

Modification de la déclaration de classe

Pour trouver les classes, je recherche toute classe qui a une annotation enfant de @Test dans Junit 5, c'est-à-dire org.junit.jupiter.api.Test.

Et lorsque la classe a le modificateur public :

search :
class :
with :
child :
annotation :
type : "org.junit.jupiter.api.Test"
modifier : "public"

Ensuite, la solution rapide modifie le modificateur pour supprimer la visibilité afin qu'il devienne la valeur par défaut, et la valeur par défaut est package private, ce qui est ce que je recherche.

availableFixes :
- name : "remove public visibility from JUnit 5 Test class"
actions :
- changeModifiers :
visibility : ""



Modifier les déclarations de méthode

La recette de l'amendement de la déclaration de méthode est à peu près la même que celle de la classe.

Tout d'abord, je recherche les méthodes publiques annotées avec @Test dans JUnit 5.

search :
method :
annotation :
type : "org.junit.jupiter.api.Test"
modifier : "public"


Je modifie ensuite le modificateur pour qu'il devienne la visibilité par défaut.

availableFixes :
- name : "Remove @Test method public visibility"
actions :
- changeModifiers :
visibility : ""


Conseil : modification de plusieurs méthodes

Sensei a la possibilité d'appliquer la correction rapide à toutes les violations du fichier en cours.

Lorsque j'utilise alt+enter pour appliquer le QuickFix.

Si je développe le menu du nom QuickFix, je peux voir une option pour :

"Fix All : 'JUnit : Les méthodes de test de JUnit 5 n'ont pas besoin d'être publiques' dans le fichier"

Lorsque je sélectionne cette option, Sensei modifie toutes les occurrences du problème, et pas seulement celle que je sélectionne.


Supprimer la méthode d'essai Visibilité publique

Modifier la classe

De même qu'une méthode n'a pas besoin d'être publique, la classe n'a pas besoin de l'être non plus.

Je peux créer une recette et un QuckFix pour modifier la classe.

Nom - JUnit : Junit 5 Test classes do not need to be public
Description - Junit 5 Test classes do not need to be public
Niveau - Erreur


Lorsque je trouve une classe qui est publique et qui a une méthode avec une annotation @Test. Je souhaite alors modifier la visibilité.

search :
class :
modifier : "public"
anyOf :
- child :
method :
annotation :
type : "Test"


Je peux à nouveau modifier la définition de la classe à l'aide de l'action changeModifiers.

availableFixes :
- name : "Remove @Test class public visibility"
actions :
- changeModifiers :
visibility : ""


Résumé

Un outil d'analyse statique m'a initialement alerté sur cette approche recommandée dans JUnit. Mais l'outil d'analyse statique ne m'a pas aidé à développer la mémoire musculaire nécessaire pour modifier mon code au fur et à mesure que je programme.

Utilisez le "niveau" pour vous alerter. Lorsqu'il s'agit d'un problème que j'essaie d'éliminer de mon codage, je commence par le mettre à "Erreur", puis je le réduis au fur et à mesure que je me désintéresse de l'approche du codage.

N'oubliez pas que vous pouvez utiliser Sensei pour corriger tous les problèmes du fichier actuel en même temps, en utilisant l'option du menu déroulant lors de l'application de la correction rapide.

En créant une recette Sensei , je peux voir mon ancienne approche de codage en temps réel. Et la corriger rapidement, pour renforcer l'approche si je commets parfois des erreurs de codage.

---

Vous pouvez installer Sensei à partir d'IntelliJ en utilisant "Preferences \ Plugins" (Mac) ou "Settings \ Plugins" (Windows) puis en recherchant simplement "sensei secure code".

Le code source et les recettes se trouvent dans le dépôt `sensei-blog-examples` sur le compte GitHub Secure Code Warrior , dans le module `junitexamples`.



Table des matières

Télécharger le PDF
Consulter les ressources
Souhaitez-vous en savoir davantage ?

Alan Richardson a plus de vingt ans d'expérience professionnelle dans le domaine des technologies de l'information. Il a travaillé en tant que développeur et à tous les niveaux de la hiérarchie des tests, du testeur au responsable des tests. Responsable des relations avec les développeurs à l'adresse Secure Code Warrior, il travaille directement avec les équipes pour améliorer le développement de codes sécurisés de qualité. Alan est l'auteur de quatre livres, dont "Dear Evil Tester" et "Java For Testers". Alan a également créé une formation en ligne courses pour aider les gens à apprendre les tests techniques sur le Web et Selenium WebDriver avec Java. Alan publie ses écrits et ses vidéos de formation sur SeleniumSimplified.com, EvilTester.com, JavaForTesters.com et CompendiumDev.co.uk.

En savoir plus

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.

Veuillez prendre rendez-vous pour une démonstration.Télécharger
Destinataires :
marques LinkedInSocialLogo x
Centre de ressources

Ressources utiles pour débuter

Plus d'articles
Centre de ressources

Ressources utiles pour débuter

Plus d'articles