You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pour tester cette méthode, il est impossible de hardcoder la valeur de test car à chaque commit, la valeur va changer.
Solution
Il faut simplement utiliser le même code de la méthode testée pour générer une valeur de comparaison dans le test.
Justification
Au final, le test est là pour voir si la méthode APPELE bien le code qu'elle est supposée appeler, sans douter du bon fonctionnement de la librairie appelée. En plus, la seule façon de savoir si la valeur retournée est valide dépend d'une condition non controllée par le test.
Le défaut apparent de cette approche pourrait être que si la librairie change son fonctionnement, le test ne pourra pas le détecter. Encore une fois, le test n'est pas là pour voir si la librairie fonctionne bien, elle cherche simplement à savoir si le test APPELE bien le code. Ça peut sembler superflu mais d'une part, le test va augmenter la couverture de code et de plus, si jamais on ajoute de la logique dans la méthode(même si c'est peu probable), le test va servir à savoir si la logique affecte le cas évalué par le test.
Problème
Pour tester cette méthode, il est impossible de hardcoder la valeur de test car à chaque commit, la valeur va changer.
Solution
Il faut simplement utiliser le même code de la méthode testée pour générer une valeur de comparaison dans le test.
Justification
Au final, le test est là pour voir si la méthode APPELE bien le code qu'elle est supposée appeler, sans douter du bon fonctionnement de la librairie appelée. En plus, la seule façon de savoir si la valeur retournée est valide dépend d'une condition non controllée par le test.
Le défaut apparent de cette approche pourrait être que si la librairie change son fonctionnement, le test ne pourra pas le détecter. Encore une fois, le test n'est pas là pour voir si la librairie fonctionne bien, elle cherche simplement à savoir si le test APPELE bien le code. Ça peut sembler superflu mais d'une part, le test va augmenter la couverture de code et de plus, si jamais on ajoute de la logique dans la méthode(même si c'est peu probable), le test va servir à savoir si la logique affecte le cas évalué par le test.
Mock du subprocess
Une autre solution pourrait aussi être de mock subprocess.
https://stackoverflow.com/questions/295438/how-can-one-mock-stub-python-module-like-urllib
The text was updated successfully, but these errors were encountered: