C++로 UnitTest프레임워크를 만들기 전에 책에 있는 파이선 예제를 따라하고 있습니다. 따라가는 과정은 책에 있습니다.
아직 다 안 해서 미완성..;;
~cpp class TestCase: def __init__(self, name): self.name = name def run(self): result = TestResult() result.testStarted() self.setUp() try: method = getattr( self, self.name ) method() except: result.testFailed() self.tearDown() return result def setUp(self): pass def tearDown(self): pass class WasRun(TestCase): def testMethod(self): self.wasRun = True self.log += "testMethod " def testBrokenMethod(self): raise Exception def setUp(self): self.wasRun = None self.log = "setUp " def tearDown(self): self.log += "tearDown " class TestResult: def __init__(self): self.runCount = 0 self.failCount = 0 def testStarted(self): self.runCount += 1 def testFailed(self): self.failCount += 1 def summary(self): return "%d run, %d failed" %(self.runCount, self.failCount) class TestCaseTest(TestCase): def setUp(self): self.test = WasRun("testMethod") def testTemplateMethod(self): self.test.run() assert "setUp testMethod tearDown " == self.test.log def testResult(self): result = self.test.run() assert "1 run, 0 failed" == result.summary() def testFailedResult(self): self.test = WasRun("testBrokenMethod") result = self.test.run() assert "1 run, 1 failed" == result.summary() def testFailedResultFormatting(self): result = TestResult() result.testStarted() result.testFailed() assert "1 run, 1 failed" == result.summary() TestCaseTest("testTemplateMethod").run() TestCaseTest("testResult").run() TestCaseTest("testFailedResult").run() TestCaseTest("testFailedResultFormatting").run()