考虑以下来自kentbeck的书Test Driven Development第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
的实现如下所示:
run()
方法被调用了两次?在testRunning()
,什么时候?这里只定义了方法,但似乎没有人调用这个方法。在注:我有Java背景,对Python语法不太熟悉。在
我无法访问你所说的那本书,所以我把你发布的代码片段删掉。在
两个不同对象上的run()方法被称为TestCaseTest类的一个,WasRun类的一个(或者一个名为WasRun的函数返回的任何函数)。在
至于谁在调用testRunning(),则在TestCaseTest对象上调用.run(),这可能是一个来自超类TestCase的方法。在TestCase中查找run(),看看是否自我测试运行()在那里被调用。在
相关问题 更多 >
编程相关推荐