Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 属性错误:';模块';对象没有属性';TestSpider';_Python_Python Unittest - Fatal编程技术网

Python 属性错误:';模块';对象没有属性';TestSpider';

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

我试图使用python中的
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这是输入错误