我有一个班级Foo住在Src/Projects/SomeProject/Foo.py
我有一个班级FooTest(unittest.TestCase)住在:
Src/Projects/SomeProject/tests/FooTest.py
Run Code Online (Sandbox Code Playgroud)
当我使用 pytest 运行它时(我只需在 Src 中输入“py.test”即可运行所有测试),我得到:
def setUp(self):
self.foo = Foo()
TypeError: 'module' object is not callable
Run Code Online (Sandbox Code Playgroud)
(我已经from Foo import Foo在FooTest.py并且Foo.py正在sys.path.
但是当我用 python 运行它时:python Src/Projects/SomeProject/tests/FooTest.py一切正常。)
另外,如果我只是将 FooTest.py 移动到,Src/Projects/SomeProject那么使用 py.test 运行就会突然起作用。
有任何想法吗?
你需要检查你的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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9289 次 |
| 最近记录: |