运行Python 3 unittest时引发的AttributeError
我试图运行以下python命令来启动unittest,但在我的Linux环境中失败了。然而,同样的命令在我的Windows环境中运行良好。我想不出哪里出了问题。有什么建议吗? 请注意,“persistence”是一个python包,“PersistenceAcceptanceTest.py”是“persistence”下的一个python文件运行Python 3 unittest时引发的AttributeError,python,linux,unit-testing,python-3.x,Python,Linux,Unit Testing,Python 3.x,我试图运行以下python命令来启动unittest,但在我的Linux环境中失败了。然而,同样的命令在我的Windows环境中运行良好。我想不出哪里出了问题。有什么建议吗? 请注意,“persistence”是一个python包,“PersistenceAcceptanceTest.py”是“persistence”下的一个python文件 $/opt/python-3.4.3/bin/python3.4-m unittest persistence.PersistenceAcceptance
$/opt/python-3.4.3/bin/python3.4-m unittest persistence.PersistenceAcceptanceTest-v
回溯(最近一次呼叫最后一次):
文件“/opt/python-3.4.3/lib/python3.4/runpy.py”,第170行,在运行模块中
“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
文件“/opt/python-3.4.3/lib/python3.4/runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“/opt/python-3.4.3/lib/python3.4/unittest/_main__.py”,第18行,在
主(模块=无)
文件“/opt/python-3.4.3/lib/python3.4/unittest/main.py”,第92行,在__
self.parseArgs(argv)
文件“/opt/python-3.4.3/lib/python3.4/unittest/main.py”,第139行,在parseArgs中
self.createTests()
文件“/opt/python-3.4.3/lib/python3.4/unittest/main.py”,第146行,在createTests中
自我保护模块)
loadTestsFromNames中的第146行文件“/opt/python-3.4.3/lib/python3.4/unittest/loader.py”
suites=[self.loadTestsFromName(name,module)表示名称中的名称]
文件“/opt/python-3.4.3/lib/python3.4/unittest/loader.py”,第146行,在
suites=[self.loadTestsFromName(name,module)表示名称中的名称]
loadTestsFromName中的第114行文件“/opt/python-3.4.3/lib/python3.4/unittest/loader.py”
父对象,obj=obj,getattr(obj,零件)
AttributeError:“模块”对象没有属性“PersistenceAcceptanceTest”
您的.py文件名是什么?如果使用与模块相同的名称,则可能会导致属性错误“PersistenceAcceptanceTest.py”是文件名,它(只有)一个类继承自“unittest.TestCase”,并且该文件中有一行内容为:if name=='main':unittest.main()在“name”和“main”之前和之后都有下划线。上面没有显示它们。我并不想怀疑您,但您确定存在“persistenceAcceptenceTest.py”文件吗?可能值得在python中浏览文件libraries@NaiteJu您可以在注释中使用`main
来添加语法突出显示(并且不会丢失您的\
)。
$ /opt/python-3.4.3/bin/python3.4 -m unittest persistence.PersistenceAcceptanceTest -v
Traceback (most recent call last):
File "/opt/python-3.4.3/lib/python3.4/runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "/opt/python-3.4.3/lib/python3.4/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/opt/python-3.4.3/lib/python3.4/unittest/__main__.py", line 18, in <module>
main(module=None)
File "/opt/python-3.4.3/lib/python3.4/unittest/main.py", line 92, in __init__
self.parseArgs(argv)
File "/opt/python-3.4.3/lib/python3.4/unittest/main.py", line 139, in parseArgs
self.createTests()
File "/opt/python-3.4.3/lib/python3.4/unittest/main.py", line 146, in createTests
self.module)
File "/opt/python-3.4.3/lib/python3.4/unittest/loader.py", line 146, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "/opt/python-3.4.3/lib/python3.4/unittest/loader.py", line 146, in <listcomp>
suites = [self.loadTestsFromName(name, module) for name in names]
File "/opt/python-3.4.3/lib/python3.4/unittest/loader.py", line 114, in loadTestsFromName
parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'PersistenceAcceptanceTest'