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()