这是我在这个论坛上的第一个问题! 我试图在另一个文件中编写一个类的测试文件(全部用Python btw),我得到一个NameError:全局变量 name here undefined。我将向您展示我正在做的一些示例代码。
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来自类本身的函数。为什么不这样做?非常感谢所有帮助!
非常感谢, 托马斯
答案 0 :(得分:2)
这是一个类方法,所以你需要像一个方法一样调用它:
custom_object = self.object_test_setup([1, "string!", ("TUP", "LE")])