Le site est Java 6.
Je fais des tests manuels tout le temps, mais il y a des limites, non? J'ai fini par écrire le code de test et aidé avec cette estimation.
J'ai commencé par collectionner JUnit et Mockito, mais je ne sais pas. J'ai eu du mal car c'était trop vieux et je ne pouvais pas accéder facilement aux informations.
Vous mourrez si vous avez trop de dettes techniques? Un mémorandum comme cas.
JUnit 4.11 En parlant d'écriture de code de test en Java, JUnit. Le dernier est JUnit 5, mais il ne peut être utilisé qu'avec Java 8 ou version ultérieure, alors choisissez parmi 4 séries. Il doit être 4.8 ou supérieur pour utiliser l'annotation @Rule décrite plus tard.
assertJ 1.7.1 Bibliothèque d'assertions.
Parce que c'est un style d'écriture en se connectant à une chaîne de méthodes C'est dur de devenir ((((parenthèse enfer)))) Vous pouvez écrire une instruction d'assertion pompon selon la suggestion Eclipse.
Mockito 1.9.5 Une bibliothèque qui facilite la mise en œuvre de maquettes de test. Il semble se lire comme Mohito. Pour la série JUit5, il y a Mockito 2.x.x, mais pour la série JUnit4, la stabilité semble être de 1.9.5.
Supposons que vous souhaitiez tester la méthode hogehoge () de la classe Hoge. Si la méthode hogehoge () dépend d'une autre classe Fuga Vous ne pouvez pas tester sans préparer le cours Fuga.
Quand c'est le cas avec un simulacre "Quand vous voyez Fuga # fugafuga () de la classe Hoge, renvoyez simplement 3." Peut être mis en place. Il est indispensable de dire test en Java.
PowerMock 1.5.6 Mockito est vraiment utile, mais vous ne pouvez pas vous moquer des méthodes statiques. PowerMock en le piratant joliment Vous pouvez vous moquer des méthodes statiques de la même manière que Mockito. Aussi des méthodes privées.
Dans le domaine où Java est utilisé depuis longtemps, il existe également une méthode statique Ceci est également indispensable car il hurle (biaisé).
Ce Power Mock et Eclemma, qui seront décrits plus loin, étaient incompatibles et j'ai eu du mal. (Résolu dans la dernière version)
J'ai choisi 1.5.6 car Mockito 1.9.x et PowerMock 1.5.x sont compatibles.
Javassist3.18.2 Javassist est une bibliothèque utilisée lors de la lecture avec du code d'octet Java. Le code d'octet Java est la source Java que nous avons écrite Celui qui peut être compilé. Celui qui s'exécute sur la JVM.
PowerMock l'utilise. Code d'octet Java au lieu de la source Il semble que le simulacre se réalise en le réécrivant bien. (Je ne connais pas les détails, et cette explication peut être incorrecte)
Javassist 3.4 est inclus dans le projet existant, C'était la plus haute priorité, alors quand j'étais en colère, j'étais accro à "Quoi? Vous êtes?"
QuickJUnit Plug-in Eclipse pour l'écriture de JUnit. Il existe différents raccourcis et modèles.
Eclemma 3.0.1 ** Bibliothèque Ecl ** ipse + ** EMMA **. Un plug-in pour exécuter EMMA, qui mesure la couverture des tests, sur Eclipse. Eclemma a cessé de se mettre à jour il y a longtemps et je voulais vraiment utiliser JaCoCo.
Eclemma et PowerMock 1.5.6 sont très incompatibles, Lorsque j'exécute un test à l'aide de PowerMock, une couverture de 0% s'affiche.
Eclemma regarde le code d'octet Java que je viens de décrire et voit où il a été exécuté. je regarde PowerMock (pour simuler les méthodes statiques) Parce que (une copie de) ce code d'octet est édité avec Javassist et qui est exécuté.
Ce problème a été résolu pour Java8, JUnit5 et versions ultérieures.
En l'utilisant à la place de RunWith Le "problème de couverture à 0%" ci-dessus peut être évité.
Référence: https://code.i-harness.com/ja/q/1647e8c
C'est tout (je pense) J'ai pu écrire du code de test pour plusieurs méthodes, l'exécuter et mesurer la couverture.
C'est toujours bon parce que c'est Java, parce que c'est juste difficile à trouver et il sortira si vous le cherchez.
Conflit de version Javassist et PowerMock et Eclemma "problème de couverture 0%"
Indirectement, car la version Eclipse est trop ancienne et il n'y a pas de Maven dans l'environnement de développement Il était très difficile d'installer des plug-ins et des bibliothèques, et il y avait des problèmes.
Même si c'est un problème trivial un par un Si plusieurs occurrences se produisent, le temps requis pour la résolution augmentera immédiatement.
Pour JUnit 5 et versions ultérieures, le problème de «couverture 0%» de PowerMock et Eclemma a été résolu.
En d'autres termes, il a été résolu il y a deux ans dans le monde, donc si vous utilisez ces deux mots-clés maintenant, La façon d'écrire RunWith sans utiliser l'annotation Rule est plus efficace. (Cela semble ennuyeux d'écrire dans Rule)
J'ai eu du mal à en faire une procédure, mais ce groupe de cadre de test Je ne sais pas s'il sera adopté comme je l'ai suggéré.
Surtout, on dit que "une couverture à 100% est essentielle", j'ai donc un mauvais pressentiment.
Après tout, "Ecrire un test prend du temps, alors faisons un test manuel". Je suis arrivé à la conclusion.
Quel genre de jugement! Je veux dire, je fais un cas de test manuel! Je déteste ça! !!
Recommended Posts