[테스트 주도 개발] 21장_셈하기
테스트 메서드 호출하기먼저 setUp 호출하기- 나중에 tearDown 호출하기
- 테스트 메서드가 실패해도 tearDown 호출하기
- 여러 개의 테스트 실행하기
- 수집된 결과를 출력하기
WasRun 에 로그 문자열 남기기
테스트 메서드에에서 예외가 발생하건 말건 tearDown() 이 호출되도록 구현했다. 하지만,테스트가 작동하기 위해선 예외를 작아야한다.
여러 테스트를 실행하고 그 결과를 다음과 같이 보길 원한다.
“5개 테스트가 실행됨. 2개 실패. TestCaseTest.testFooBar-ZeroDivide Exception, MoneyTest.testNegation-AssertionError”
TestCase.run()이 테스트 하나의 실행 결과를 기록하는 TestResult 객체를 반환하게 만들자.
1 | // TestCaseTest |
가짜 구현하자.
1 | class TestResult: |
이제 TestCase.run() 이 TestResult 를 결과로 반환한다.
1 | // TestCase |
이제 테스트가 실행된다. 이제 summary()의 구현을 실체화하자. 우선 실행된 테스트의 수를 상수로 만들자.
1 | // TestResul |
runCount를 0으로 초기화하고 테스트가 실행될 때마다 1씩 증가하도록 만들 수 있다.
1 | // TestResult |
이제, 새 메서드를 실제로 호출하게 하자.
1 | // TestCase |
실패하는 테스트의 수를 나타내는 문자열 상수 ‘0’을 runCount 를 실체화했을 때와 마찬가지의 방법을 통해 변수로 만들 수는 있겠다.
하지만, 이 작업을 하게끔 만들어주는 테스트가 없다. 그러니 또 다른 테스트를 하나 작성하자.
1 | // TestCaseTest class |
테스트 메서드 호출하기먼저 setUp 호출하기- 나중에 tearDown 호출하기
- 테스트 메서드가 실패해도 tearDown 호출하기
- 여러 개의 테스트 실행하기
수집된 결과를 출력하기WasRun 에 로그 문자열 남기기- 실패한 테스트 보고하기
우리가 관심을 가져야 할 사항은, WasRun.testBrokenMethod에서 던진 예외를 처리하지 않았다는 것이다.
테스트 주도 개발 <켄트 벡>