NameError 全局变量未定义,即使它在同一函数中,并且未导入?



这是我在这个论坛上的第一个问题!我正试图在另一个文件中为一个类编写一个测试文件(All in Python btw),但我得到了一个NameError:全局变量名称此处未定义。我会给你看一些我正在做的事情的示例代码。

import unittest
from File import *

class TestFile(unittest.TestCase):
    def object_test_setup(self, elements): 
        s = CustomClass() #from imported File, have to import items this way.
        for item in elements:
            a.insert(item)
        return (a)
    def test_contains_tuple_element(self):
        '''Return True iff CustomClass contains tuple element'''
        custom_object = object_test_setup([1, "string!", ("TUP", "LE")])
        element = ("TUP", "LE")
        self.assertTrue(custom_object.__contains__(element)) # __contains__ is defined in File

是的,所以对象初始化得很好,导入文件中的所有方法都在对象上工作,但出于某种原因,我的NameError说NameError: global name 'object_test_setup' is not defined

我不明白,因为所有导入的东西都在那个文件中工作,我相信我导入正确,全局NameError来自类本身的一个函数。为什么不起作用?非常感谢所有的帮助!

非常感谢,Thomas

这是一个类方法,所以您需要像这样调用它:

custom_object = self.object_test_setup([1, "string!", ("TUP", "LE")])

最新更新