Skip to content

Instantly share code, notes, and snippets.

@laowantong
Last active October 21, 2017 20:18
Show Gist options
  • Save laowantong/1137865be879daab68e1d712a1416946 to your computer and use it in GitHub Desktop.
Save laowantong/1137865be879daab68e1d712a1416946 to your computer and use it in GitHub Desktop.

Johann m'a signalé que le lancement de nosetests bloquait Jupyter Notebook sur sa machine (Windows), mais que ça marchait chez certains autres.

En cherchant la cause de cette erreur, j'ai découvert que nosetests n'était plus activement développé.

Il convient donc de passer à son successeur, nose2.

Celui-ci n'est pas inclus dans la distribution Anaconda, mais vous pouvez l'installer en évaluant sous Jupyter Notebook la cellule suivante:

!pip install nose2

La syntaxe de lancement d'un programme de tests est légèrement plus simple. Au lieu d'évaluer:

!nosetests point_is_on_segment_tests.py

Vous faites maintenant (notez la suppression de l'extension .py):

!nose2 point_is_on_segment_tests

Je mettrai prochainement à jour ma base et le dépôt avec les nouvelles commandes. Cependant, j'aurais besoin d'avoir des retours pour savoir si ça marche (encore, ou mieux), chez vous. Merci de me le dire dans les commentaires ci-dessous, puis de changer mon statut sur EduPad en [commenté].

@johannchopin
Copy link

!nose2 ne me bloque plus Jupyter Notebook pour le passage des tests de l'ancien challenge :) Mon problème semble résolu ;)

@laowantong
Copy link
Author

D'accord, je vais modifier ça partout. Merci.

@laowantong
Copy link
Author

Autre méthode pour lancer les tests

Au cas où vous n'arrivez pas à faire fonctionner nose2 sous Jupyter Notebook.

  1. Modifier le fichier de tests désiré, par exemple "is_divisible_by_seven_tests.py" en ajoutant à la fin les trois lignes:
if __name__ == '__main__':
    import nose2
    nose2.main()
  1. Lancer les tests sous Jupyter Notebook en évaluant la cellule:
%run is_divisible_by_seven_tests.py

Feedback bienvenu 😉

@johannchopin
Copy link

johannchopin commented Oct 21, 2017

Oui cette technique permet bien de lancer les tests sous Jupyter notebook. Maintenant voilà les tests effectués me renvoie des résultats étonnants :

..FFFFFFFFFFFFFFFFF
======================================================================
FAIL: __main__.transplant_class.<locals>.C (test_11)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\johan\ALGO ISFATES\Cours - 6\is_divisible_by_eleven_tests.py", line 174, in test_11
    assert not is_divisible_by_eleven(59423317190)
AssertionError

======================================================================

Or de tels résultats ne peuvent pas êtres corrects car mon code était bon (j'ai de plus essayé avec le code d'Alexandre qui m'envoit le même résultat), c'est à en déprimer :(

@laowantong
Copy link
Author

Et Google ne renvoie rien sur ton message d'erreur. Il ne te reste plus qu'une seule issue: le suicide. Une minute de silence sera observée pour toi lors de la prochaine séance 😢

PS: Apprends les bases de Markdown pour formater tes commentaires. Je l'ai fait pour toi car j'avais les yeux qui saignaient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment