1

Nous avons un réel problème avec les personnes qui vérifient le code qui ne fonctionne pas parce que quelque chose a été refactorisé. Certes, c'est en partie parce que nos développeurs n'ont pas vraiment de bons outils pour trouver facilement ce genre d'erreurs.Test pour ImportErrors en Python

Existe-t-il des outils pour vous aider à trouver ImportErrors en Python? Bien sûr, la bonne réponse ici est "vous devriez utiliser vos tests unitaires pour cela". Mais, je suis en terrain de code hérité (au moins par la définition de Michael Feathers), donc nos tests unitaires sont quelque chose sur laquelle nous travaillons fortement. En attendant, il serait bien d'avoir une sorte d'outil qui parcourra chaque répertoire et importera chaque fichier dedans juste pour trouver tous les scripts qui ont ImportErrors (comme dire si un fichier ou une classe a été renommé récemment). Je suppose que ce ne serait pas difficile à écrire moi-même, mais y at-il des programmes qui sont déjà écrits pour le faire?

Répondre

3

Pychecker est fait pour vous. Il importe les modules et trouvera ces erreurs.

http://pychecker.sourceforge.net/

Oh, et "pylint <modulename>" importera le module, mais je suppose que vous devez appeler une fois pour chaque module que vous voulez, où pychecker supporte au moins * .py. (Pylint supporte aussi * .py mais n'importera pas les modules dans cette situation).

1

Quelque chose comme ça?

import os 
for x in os.listdir("some/path"): 
    execfile(x) 

Est-ce suffisant, ou auriez-vous besoin de plus?

Notez que tout module qui manque if __name__ == "__main__": va - évidemment - décoller et commencer à faire des choses.

+0

Il y a plus que je voudrais ajouter. Mais je suppose que c'est un début assez bon si je décide d'écrire le mien. :-) –