J'ai une classe Foo
qui vit dans Src/Projects/SomeProject/Foo.py
« TypeError: objet « module » est pas appelable » lors de l'exécution avec py.test sous dossier/test
J'ai une classe FooTest(unittest.TestCase)
qui vit dans:
Src/Projects/SomeProject/tests/FooTest.py
Quand je lance avec pytest (je viens de taper 'py.test' à Src pour exécuter tous les tests), je reçois:
def setUp(self):
self.foo = Foo()
TypeError: 'module' object is not callable
(je from Foo import Foo
en FooTest.py
et Foo.py
est en sys.path
.
Mais quand je le lance avec python. python Src/Projects/SomeProject/tests/FooTest.py
tout fonctionne)
De plus, si je déménage juste FooTest.py à Src/Projects/SomeProject
en cours d'exécution puis avec py.test fonctionne soudainement.
Des idées?
Eh bien, j'ai résolu le problème en renommant Foo.py en FooComponent.py; Je pense que ce n'est pas que j'ai eu un autre Foo.Foo, c'est juste que le dossier du projet s'appelle aussi Foo, et ça a chamboulé les choses. (le fichier était dans Src/Projects/Foo/Foo.py) Une idée de pourquoi cela provoque l'erreur? –
'Src/Projects' est probablement listé votre chemin python, précédant' Src/Projects/SomeProject'; vérifiez 'sys.path'. –
Excellent - merci! –