[테스트 주도 개발] 20장_뒷정리하기

  • 테스트 메서드 호출하기
  • 먼저 setUp 호출하기
  • 나중에 tearDown 호출하기
  • 테스트 메서드가 실패해도 tearDown 호출하기
  • 여러 개의 테스트 실행하기
  • 수집된 결과를 출력하기
  • WasRun 에 로그 문자열 남기기

setUp() 은 테스트 메서드 실행되기 전에 호출, tearDown() 은 테스트 메서드가 실행된 후에 호출되어야한다.

1
2
3
4
5
class WasRun(TestCase):
def setUp(self):
self.wasRun= None
self.wasSetUp = 1
self.log = "setUp"

이제 testSetUp이 플래그 대신 로그를 검사하자.

1
2
3
4
class TestCaseTest(TestCase):
def testSetUp(self):
self.test.run()
assert("sepUp" == self.test.log)
1
2
3
4
class TestCaseTest(TestCase):
def testSetUp(self):
self.test.run()
assert("sepUp testMethod" == self.test.log)

이제 testSetUp 의 이름을 바꾸자.

1
2
3
4
5
class TestCaseTest(TestCase):
def testTemplateMethod(self):
teset = WasRun("testMethod")
test.run()
assert("sepUp testMethod" == self.test.log)
  • 테스트 메서드 호출하기
  • 먼저 setUp 호출하기
  • 나중에 tearDown 호출하기
  • 테스트 메서드가 실패해도 tearDown 호출하기
  • 여러 개의 테스트 실행하기
  • 수집된 결과를 출력하기
  • WasRun 에 로그 문자열 남기기

이제 tearDown() 을 테스트할 준비가 됐다.

1
2
3
4
5
class TestCaseTest(TestCase):
def testTemplateMethod(self):
teset = WasRun("testMethod")
test.run()
assert("sepUp testMethod tearDown" == self.test.log)
1
2
3
4
5
6
class TestCase:
def run(self):
self.setUp()
method = gatattr(self, self.name)
method()
self.tearDown()
  • 테스트 메서드 호출하기
  • 먼저 setUp 호출하기
  • 나중에 tearDown 호출하기
  • 테스트 메서드가 실패해도 tearDown 호출하기
  • 여러 개의 테스트 실행하기
  • 수집된 결과를 출력하기
  • WasRun 에 로그 문자열 남기기

테스트 주도 개발 <켄트 벡>

Comments