Ajout d'un fichier de test avec pytest

Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
This commit is contained in:
Yohann D'ANELLO 2021-01-26 17:07:12 +01:00
parent 9026dd56cc
commit d4d595ed68
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
3 changed files with 31 additions and 3 deletions

View File

@ -24,4 +24,4 @@ pylint:
test: test:
stage: test stage: test
image: python:3-alpine image: python:3-alpine
script: python main.py script: pytest --show-locals .

8
main.py Normal file → Executable file
View File

@ -1,4 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python3
""" """
Ce script est utilisé en guise d'appui pour le séminaire Crans d'introduction Ce script est utilisé en guise d'appui pour le séminaire Crans d'introduction
@ -24,7 +24,11 @@ def main():
while True: while True:
command = input("> ") command = input("> ")
args = command.split(" ") args = command.split(" ")
print(globals()[args[0]](*args[1:])) print(commande(args[0], *args[1:]))
def commande(name: str, *args):
return globals()[name](*args)
def aide(): def aide():

24
main_test.py Executable file
View File

@ -0,0 +1,24 @@
#!/usr/bin/env python3
"""
Exécution des tests du script.
"""
import unittest
import main
def test_aide():
"""
On essaie d'afficher l'aide, et on vérifie si ça affiche la bonne chose.
"""
res = main.commande("aide")
lines = res.split("\n")
assert len(lines) == 6
assert lines[0].startswith("aide")
assert lines[1].startswith("seminaire")
assert lines[2].startswith("blague")
assert lines[3].startswith("calcul")
assert lines[4].startswith("tri")
assert lines[5].startswith("stop")