Cet article "n'a jamais écrit", "n'a pas besoin", "ne comprend pas" le code de test Cet article présente les gens qui disent: «Il y a quelque chose de bon à écrire».
Avez-vous appris à écrire du code de test? En parlant de cela, vous faites quelque chose de difficile, non? Je sens qu'il y a un certain nombre de personnes. Tout d'abord, le code de test est fondamentalement ** C'est plutôt boueux! ** **
Quelque chose extrait automatiquement la fonction dans le fichier source, Cela peut aussi être une évaluation de valeur. Mais c ’est difficile, non?
Je pense qu'il y a des gens qui pensent cela. Il fut un temps où je le pensais. (Je pense que vous pouvez le trouver, mais cela coûte probablement de l'argent. Au contraire, vous pouvez obtenir de l'argent)
Pour donner un exemple simple, Une fonction pour faire aboyer un chien en précisant un pays
dog_bark.py
def dog_bark(country):
if country == 'Japan':
return u'Bow Wow!'
elif country == 'USA':
return u'Bow wow!'
else:
raise NotImplementedError
Le code de test est
test_dog_bark.py
from dog_bark import dog_bark
def test_dog_bark():
assert u'Bow Wow!' == dog_bark('Japan')
assert u'Bow wow!' == dog_bark('USA')
Ce sera. Le code consiste à exécuter la fonction dog_bark et à la comparer directement avec la chaîne de résultat attendue. Écrivons le code de test pour le dire au monde! Produisons en masse du code comme celui-ci! Cela signifie que. Ce n'est pas particulièrement difficile. L'exécution des tests est, par exemple, Pytest de Python
$ py.test test_dog_bark.py
Est OK. Même si vous augmentez la fonction de test, il reconnaîtra le test dans le fichier sans autorisation.
Le fera.
À propos, n'importe quel framework de test dans n'importe quelle langue a autant de fonctionnalités.
(Le langage avec compilation demande un peu plus de travail)
## C'est pénible d'écrire un test
Je comprends comment rédiger un test, mais "après tout, lancez simplement l'application et vérifiez"
C'est vrai. cependant,
――Quand l'application sera-t-elle prête à démarrer?
―― Quand pourrez-vous vérifier la fonction dans l'application?
―― En supposant que vous pouvez le vérifier dans l'application, chaque fois que vous corrigez le code, vous pouvez vérifier l'application
Redémarrez-vous, déplacez-vous l'écran, entrez les paramètres manuellement et vérifiez-vous visuellement?
** Le deshow le plus simple est de taper une commande de ligne sur la ligne de commande et de laisser le PC le tester pour vous! ?? ** **
C'est vrai. L'enregistrement dans l'application réelle est beaucoup plus gênant si vous augmentez le nombre de fois.
Je pense que la revendication de qualité est certainement correcte, mais ici j'ose
** Écrivons un test pour profiter de la qualité! ** **
Insister. Peu importe que vous soyez très conscient lors de la rédaction d'un test. (Coquin)
Il y a aussi un mot que les programmeurs ont du mal à s'amuser.
~~ Qui garantit la qualité du test si vous l'écrivez en premier lieu et l'exactitude du test lui-même ... ~~
En plus de cela, il peut être considéré comme terminé jusqu'à ce que le test réussisse, donc
** Ayez une idée du progrès **
Parce que c'est assez important.
~~ Nous promettons qu'il sera préférable de le jeter en raison des changements de spécifications ~~
## Vous aurez également des compétences en conception
Même si vous essayez d'écrire un test pendant le développement
Les fonctions connexes nécessaires ne sont pas implémentées ou les données de base ne sont pas encore disponibles
Il y a une situation comme celle-là. Voulez-vous attendre que vous le puissiez?
** Vous pouvez l'écrire en le divisant en modules ou en utilisant une maquette **
De plus, le test ainsi rédigé
** Un test en mouvement constant indépendant des autres modules et des données de base fluctuantes **
Ce sera. C'est important.
Il est facile de voir l'ampleur de l'impact des corrections de bogues et des améliorations.
Bien sûr, il faut un peu d'apprentissage et d'expérience pour diviser les modules, etc.
Je pense que le fait que vous en soyez conscient ou non a une grande influence sur l'ensemble du produit.
(Après tout, l'histoire de la haute conscience)
## En résumé, faisons TDD!
En résumé
- ** Il est plus facile de vérifier le fonctionnement avec le code de test **
- ** Le design a l'air bien **
Ou plutôt, ce sont généralement des TDD.
** En premier lieu, il est inutile d'écrire un test sur TDD pour améliorer la qualité **.
Comme le test reste un effet secondaire, la qualité s'améliorera si vous l'utilisez pour la régression, etc.
C'est une rénovation.
Cependant, je me demande personnellement si les chats et la louche sont des TDD, donc pour le moment,
** Amusez-vous avec le code de test! ** **
En résumé.
Recommended Posts