Python 属性错误:';模块';对象没有属性';TestSpider';
我试图使用python中的Python 属性错误:';模块';对象没有属性';TestSpider';,python,python-unittest,Python,Python Unittest,我试图使用python中的unittest,但我得到以下错误:AttributeError:“module”对象没有属性“TestSpider”我的测试代码如下 import unittest from spiders.eshopsite import EshopsiteSpider ### Unit Test for the EshopsiteSpider class class TestSpider(unittest.TestCase): def testExtractAnc
unittest
,但我得到以下错误:AttributeError:“module”对象没有属性“TestSpider”
我的测试代码如下
import unittest
from spiders.eshopsite import EshopsiteSpider
### Unit Test for the EshopsiteSpider class
class TestSpider(unittest.TestCase):
def testExtractAnchor(self):
testArray = [u'/test1', u'/test1/test2', u'test2']
testObj = EshopsiteSpider()
testOutputArray = testObjextractAnchors(testArray)
self.assertEqual(len(testArray), len(testOutputArray))
index = 0
### A loop is needed to compare each element in the
### arrays. To assert if they are equal
while index < len(testOutputArray):
varOne = testOutputArray[index]
varTwo = testArray[index].encode('utf8')[1:]
self.assertEqual(varOne, varTwo)
index = index + 1
if __name__ == '__main__':
unittest.main()
导入单元测试
从spider.eshopsite导入eshopsite spider
###EshopsiteSpider类的单元测试
类TestSpider(unittest.TestCase):
def testExtractAnchor(自):
testArray=[u'/test1',u'/test1/test2',u'test2']
testObj=EshopsiteSpider()
testOutputArray=testObjextractAnchors(testArray)
self.assertEqual(len(testArray),len(testOutputArray))
索引=0
###需要一个循环来比较表中的每个元素
###数组。断言他们是否相等
当索引
和我的文件夹结构:
以及完整堆栈跟踪:
Traceback (most recent call last):
File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/__main__.py", line 18, in <module>
main(module=None)
File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/main.py", line 92, in __init__
self.parseArgs(argv)
File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/main.py", line 139, in parseArgs
self.createTests()
File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/main.py", line 146, in createTests
self.module)
File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/loader.py", line 146, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/loader.py", line 146, in <listcomp>
suites = [self.loadTestsFromName(name, module) for name in names]
File "/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/loader.py", line 114, in loadTestsFromName
parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'TestSpider'
回溯(最近一次呼叫最后一次):
文件“/usr/local/cillar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/runpy.py”,第170行,在“运行”模块中作为“主”
“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
文件“/usr/local/ceral/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“/usr/local/cillar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/____;u main.py”,第18行
主(模块=无)
文件“/usr/local/ceral/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/main.py”,第92行,在__
self.parseArgs(argv)
文件“/usr/local/ceral/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/main.py”,第139行,在parseArgs中
self.createTests()
createTests中的第146行文件“/usr/local/ceral/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/main.py”
自我保护模块)
loadTestsFromNames中的第146行文件“/usr/local/ceral/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/loader.py”
suites=[self.loadTestsFromName(name,module)表示名称中的名称]
文件“/usr/local/ceral/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/loader.py”,第146行,在
suites=[self.loadTestsFromName(name,module)表示名称中的名称]
loadTestsFromName中的第114行文件“/usr/local/ceral/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/loader.py”
父对象,obj=obj,getattr(obj,零件)
AttributeError:“模块”对象没有属性“TestSpider”
为了执行测试,我使用了以下命令:python3-m unittests/TestSpider
根据其他测试,我无法找出什么是错误的。即使我注释掉测试函数中的所有内容,除了第一条语句,我也会得到相同的错误
我希望有人能给我指出正确的方向或帮助我解决问题
\Lars我试过:
导入单元测试类TestSpider(unittest.TestCase):def testExtractAnchor(self):print(“Hello world”),如果uuuuu name_uuuu==''uuuu main_uuuuu':unittest.main()
,它就工作了。它对您有效吗?您确定没有安装其他名为tests
的模块吗<例如,code>IPython提供了一个。检查导入测试;打印(测试文件)
实际上指向您的内容。我无法复制此内容。另外,这个问题可能是输入错误,但您的命令引用的是test/TestSpider
,但您的屏幕截图显示的是文件夹tests
@Jean-Françoisfare是的,代码有效。@idjaw这是输入错误