2009-07-30 4 views

답변

5

예. 시작하는 것이 좋은 방법입니다.

하지만 거기서 멈추지 마십시오.

또한 이전 코드에서 사용한 "최종 답변"이있는 테스트를 작성하십시오.

잘못되었거나 유지 보수가 불가능하기 때문에 단위 테스트에서 이전 코드를 삭제해야 할 수도 있습니다.

+0

예를 들어 코드를 도려내는 테스트에서 오래된 큰 방법을 남겨 두는 것이 의미가 없습니다. – Ryu

+0

유지 관리를 수행하고 새로운 단위 테스트 출력을 수정해야 할 때 더욱 그렇습니다. 요구 사항. 재 작성의 요점은 이전 소프트웨어를 제거하는 것이 었습니다. TestCase에 포함시키지 마십시오. –

1

테스트에서 두 값을 모두 반환하면 동일한 값을 반환 할 수도 있습니다. 예 :

그런 다음 이전 방법에서 천천히 "스스로 자유롭게"설정할 수 있습니다.

4

당신이 소스 제어를 사용하는 가정, 여기에 내가 할 줄 작업은 다음과 같습니다

  1. 은 이전 코드에 대한 테스트를 작성합니다.
  2. 테스트가 통과하는지 확인하십시오.
  3. 소스 제어에 체크인하십시오.
  4. 는 이제, 별도의 변경과 같이 구현을 대체 (예 : 새 구현을 추가하고 기존 구현을 삭제)와 테스트는 여전히 통과해야합니다.

1 단계의 일환으로 수도 그래서 당신은 당신의 주요 목표는 기존 동작을 유지하기 위해 단지 인 경우가 뱉어 어떤 가치를 볼 수있는 기존의 코드에 대한 작은 "하네스"를 쓰고 싶어요. 중요한 것은 이전 구현을 통과하는 테스트가 있다는 것입니다.

3 단계의 이유는 중요한 코드를 놓친 경우 이전 코드에 대한 테스트를 제출 한 곳의 변경 사항과 동기화하여 새 테스트를 추가하고 작동하는지 확인한 다음 다시 동기화하십시오 필요하다면 새 구현을 수정하여 작동하는지 확인하십시오.

2

확실히 아닙니다. 이전 코드가 처리하는 케이스, 경계 조건, 오류 등 각각을 다루는 테스트가 있어야합니다. 테스트가 좋은 경우 새 코드는 테스트가 통과 할 때와 동일합니다.

이전 코드를 확실하게 리팩터링하고 제거 할 수 있다는 것은 단위 테스트의 주요 이점 중 하나입니다.

2

먼저 테스트를 작성

으로 이해하고 이전 코드가

다음 새 코드로 이전 코드를 교체하고 있는지에게 그것을 만들 재 작성하기 전에를 통과해야합니다 것

관련 문제