考虑以下来自 Kent Beck 的书Test Driven Development Chapter 18中的 Python 代码,他在其中构建了一个用于单元测试的框架。
class TestCaseTest(TestCase):
def testRunning(self):
test= WasRun("testMethod")
assert(not test.wasRun)
test.run() // Here run() is called once
assert(test.wasRun)
TestCaseTest("testRunning").run()//Here run() is called again
基类的实现TestCase
如下所示:
TestCase
def __init__(self, name):
self.name= name
def run(self):
method = getattr(self, self.name)
method()
- 为什么
run()
在上面的代码片段中调用了两次方法? - 谁在调用该方法
testRunning()
,何时调用?这里只定义了方法,但似乎没有人调用这个方法。
PS:我来自 Java 背景,对 Python 语法本身不太熟悉。