테스트 역사
- 최초의 버그 - 애니악(진공 컴퓨터)에서 실제로 살아있는 벌레(버그)가 들어가 타 죽으면서 오류가 발생

테스트의 필요성
- 소프트웨어가 올바르게 동작하지 않는 경우 - 금전,시간,비즈니스 이미지 손실 발생
- 테스트 주도 개발(TDD) - 프로그래머가 자신의 코드를 잘 설계하도록 함
- TDD를 통해 SUT(System Under Test)를 구상1
JUnit
- Kent Beck이 Smalltalk를 위해 개발한 프레임워크, SUnit의 후속
xUnit으로 통칭되는 테스트 프레임워크를 java에 포팅해서 jUnit
- JUnit 4.x
- java 5 Annotation 지원
TestCase클래스 상속 받아야 한다는 제약 해소Test라는 글자로method이름을 시작해야 한다는 제약을 해소@Test를 붙임- 좀 더 유연한 픽스처
@BeforeClass,@AfterClass,@Before,@After - 시간제한 테스트를 지원
@Test(timeout=1000) - 예외 테스트를 지원
@Test(expected=NumberFormatException.class) - 테스트 무시 기능을 제공
@ignore("this method isn't working yet")
@BeforeClass, @AfterClass, @Before, @After
@Test(timeout=1000)
@Test(expected=NumberFormatException.class)
@ignore("this method isn't working yet")
강의자료
- Namoosori-UnitTest(ver3.4.1).pdf
테스트 코드를 먼저 작성하고, 그 테스트를 통과하는 실제코드를 단계적으로 만들어가면서 막막한 비지니스 코드 구상과 작성을 용이하게 해 준다. ↩