4

Foo私は住んでいるクラスがありますSrc/Projects/SomeProject/Foo.py

FooTest(unittest.TestCase)私は住んでいるクラスがあります:

Src/Projects/SomeProject/tests/FooTest.py

pytestで実行すると(すべてのテストを実行するには、Srcで「py.test」と入力するだけです)、次のようになります。

 def setUp(self):
     self.foo = Foo()
     TypeError: 'module' object is not callable

(私はfrom Foo import FooFooTest.pyありFoo.py、にありsys.pathます。

しかし、Pythonで実行すると、python Src/Projects/SomeProject/tests/FooTest.pyすべてが機能します。)

また、FooTest.pyをに移動するSrc/Projects/SomeProjectと、py.testでの実行が突然機能します。

何か案は?

4

2 に答える 2

2

Python パスを確認する必要があります。Foo.Fooモジュールの前に他のものが見つかりましFooた。

または、try/except TypeErrorスイートで、問題のあるモジュールのパスを出力します。

def setUp(self):
    try:
        self.foo = Foo()
    except TypeError:
        # What module Foo is this?
        print Foo.__file__
        raise
于 2012-07-31T08:37:06.307 に答える