在 class 方法中使用 self.method_name
using self.method_name inside a class method
我是 Python 中 OOP 的新手。我是第一次使用 unittest
包。在下面的代码中,来自 Python 官方文档,当我们使用 self.assertEqual
时,我们是否从基础 class unittest.Testcase
调用了 assertEqual
方法?
通常,每当我们在 class 的另一个方法定义中调用 self.method_name
时,它是否从基础 class 调用方法(假设 method_name
是未为派生定义 class)?
import random
import unittest
class TestSequenceFunctions(unittest.TestCase):
def setUp(self):
self.seq = list(range(10))
def test_shuffle(self):
# make sure the shuffled sequence does not lose any elements
random.shuffle(self.seq)
self.seq.sort()
self.assertEqual(self.seq, list(range(10)))
在documentation for unittest
中指定,assertEqual
是TestCase
class提供的方法。
一般来说,当(通过 self.<method_name>
)访问一个方法时,然后使用 MRO
或该特定 [ 的方法解析顺序在基 class 中搜索该方法=21=].
我是 Python 中 OOP 的新手。我是第一次使用 unittest
包。在下面的代码中,来自 Python 官方文档,当我们使用 self.assertEqual
时,我们是否从基础 class unittest.Testcase
调用了 assertEqual
方法?
通常,每当我们在 class 的另一个方法定义中调用 self.method_name
时,它是否从基础 class 调用方法(假设 method_name
是未为派生定义 class)?
import random
import unittest
class TestSequenceFunctions(unittest.TestCase):
def setUp(self):
self.seq = list(range(10))
def test_shuffle(self):
# make sure the shuffled sequence does not lose any elements
random.shuffle(self.seq)
self.seq.sort()
self.assertEqual(self.seq, list(range(10)))
在documentation for unittest
中指定,assertEqual
是TestCase
class提供的方法。
一般来说,当(通过 self.<method_name>
)访问一个方法时,然后使用 MRO
或该特定 [ 的方法解析顺序在基 class 中搜索该方法=21=].