您的位置:首页 > 编程语言 > Python开发

学习TDD同时学到Python

2006-09-10 21:10 204 查看
TDD用了xUnit的实现来举例,也同时让我感受了下动态语言(乐观语言)的魅力,仅仅帖点代码来:

class TestCase:
def __init__(self,name):
self.name = name
def setUp(pass):
pass
def tearDown(self):
pass
def run(self,result):
result.testStart()
self.setUp()
method = getattr(self,self.name)
method()
self.tearDown

class WasRun(TestCase):
def __init__(self,name):
self.wasRun = None
TestCase.__init__(self,name)
def run(self):
self.testMethod()
def testMethod(self):
self.setUp()
self.wasRun = 1
def setUp(self):
self.wasRun = None
self.wasSetup=1

class TestCaseTest(TestCase):
def testRunning(self):
test1 = WasRun("testMethod")
test2 = WasRun("setUp")
print test2.wasSetUp
assert(test.wasSetUp)
assert(not test.wasRun)
test.setUp()
test.run()
print test2.wasSetUp
assert(test.wasRun)
TestCaseTest("testRunning").run()

>>> class A:
def __init__(self):
self.tests = []
def add(self,test):
self.tests.append(test)

>>> class test:
def __init__(self,name):
self.name = name
def run(self):
print self.name

>>> class MainClass:
def __init__(self):
pass
def runTest(self):
t = test("chenfei")
t1 = test("lfchen")
t2 = test("qixiang")
t3 = test("zhao")
a = A()
a.add(t)
a.add(t1)
a.add(t2)
a.add(t3)
for tt in a.tests:
tt.run()

>>> MainClass().runTest()
感觉还真不错!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: