2012-06-08 3 views
0

내가 클래스 A의 객체에서 이와 같은 "단위"테스트 레거시 코드 ...조롱 스텁 깊은 유산은

내 코드의 대부분은 물건을 넣어 물건을 제거하는 방법을 난 아직도하지 확신 객체 그 안에는 나무처럼 여러 가지 다른 물건이 있습니다. 이 트리의 잎에는 OR 매핑 된 데이터베이스 행에 의해 뒷받침되는 데이터 항목 객체가 있습니다. 클래스 A의 실제 객체를 만드는 것은이 트리의 모든 노드를 만드는 작업이므로 중요하지 않습니다. 나는 A. 내부에 하나 개의 수준을 넘어 클래스에 대한 가시성을 해달라고

내 코드의 요구가 classAobj 상태의 X 인 경우 행사 및이 코드가 Y를 얻을 수있는 가장 좋은 방법이 될 것입니다 무엇

을 상태로 classAobj 이동합니다 classAobj를 상태 X로 변환 하시겠습니까?

모의 개체와 스텁 개체가 붕괴 된 것에 대해 들었지만 어떻게하면 큰 기대를 가지고 어떻게 처리 할 것인지, 모든 트리가 필요할 때 어떻게 스텁을 만들 수 있습니까?

classAobj가 작동하기 위해 필요한 다른 개체를 어떻게 발견합니까?

+0

[적절한 형식의] 관련 섹션 (http://stackoverflow.com/editing-help)을 게시하여 질문을 개선하십시오. 또한 실제 발생한 오류 메시지와 프로그래밍 문제를 연구하거나 해결하기 위해 지금까지 취한 조치를 게시하십시오. –

답변

0

단위 테스트 용으로 설계되지 않은 레거시 코드에 단위 테스트를 추가하는 것은 매우 어렵습니다. 그러면 전체 오브젝트 트리를 리팩터링하면서 나중에 잠깐 정크로 바꿀 테스트를 작성할 수 있습니다.

통합 테스트를 작성하면 리팩터링에 많은 자유를 줄 수 있지만 설치 비용이 많이들 것입니다.