Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

app#set_app_commit() #272

Open
fxleblanc opened this issue Nov 11, 2015 · 0 comments
Open

app#set_app_commit() #272

fxleblanc opened this issue Nov 11, 2015 · 0 comments
Assignees
Milestone

Comments

@fxleblanc
Copy link
Contributor

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

@fxleblanc fxleblanc added this to the m9 - Future milestone Nov 11, 2015
@fxleblanc fxleblanc self-assigned this Nov 11, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant