Python:在一个函数中定义的变量在另一个函数中无法识别
在第9行,我得到以下错误:Python:在一个函数中定义的变量在另一个函数中无法识别,python,function,Python,Function,在第9行,我得到以下错误: class TestUM(unittest.TestCase): def test_Dynasty_init(self): try: self.p = ModelInterface(r"E:\HIL\07_Tests\AT_Dynasty_models\AT745\RTM_AT_745.dml") #any dml file should do here except Exception:
class TestUM(unittest.TestCase):
def test_Dynasty_init(self):
try:
self.p = ModelInterface(r"E:\HIL\07_Tests\AT_Dynasty_models\AT745\RTM_AT_745.dml") #any dml file should do here
except Exception:
self.fail("Dynasty initialization raised ExceptionType unexpectedly!")
def test_Dynasty_check(self):
self.p.check()
我不明白
self.p
在test\u dentium\u check
函数中未被识别。这可能取决于类实例在test\u dentium\u check()之前是否实际调用了test\u dentium\u init()。这可能取决于test\u dentium\u check()之前是否实际调用了test\u dentium\u init()对于类实例。您应该使用setUp()
和tearDown()
进行初始化/销毁代码
如果我没记错的话,unittest
库按字母顺序运行以test
开头的所有函数。这意味着test\u dentium\u check
在test\u dentium\u init
之前运行编辑:顺序无关紧要,因为每个测试都将从TestCase类的新实例运行。您应该使用setUp()
和tearDown()
进行初始化/销毁代码
如果我没记错的话,
unittest
库按字母顺序运行以test
开头的所有函数。这意味着test\u dentium\u check
在test\u dentium\u init
之前运行编辑:顺序无关紧要,因为每个测试都将从TestCase类的一个新实例运行。这是两个独立的测试用例。每个测试方法都在TestUM
的一个独立实例上调用。将test\u devenation\u init
重命名为setUp
,或者将两者合并为一个方法。这是两个单独的测试用例。每个测试方法都在TestUM
的单独实例上调用。要么将test\u devenation\u init
重命名为setUp
,要么将两者合并为一个方法。我甚至不指望测试方法按任何特定顺序执行。单个测试应该相互独立,我甚至不指望测试方法以任何特定的顺序执行。单个测试应相互独立。
"AttributeError: 'TestUM' object has no attribute 'p'"