2011-05-04 2 views
2

이 응용 프로그램은 우리가 그것에 왔을 때 실제로 테스트가 없었고, 이제는 가장 필수적인 부분을 커버하는 오이 테스트가 있습니다. 앱이 제대로 작동하는지, 개발 과정에서 많은 재난이 발생했는지는 확실하지 않습니다. 그 중 대부분은 발견되지 않은 버그로 인해 발생합니다. 이 코드는 뷰에 HTML과 PHP를 생성하는 모델이있는 곳에서는보기 흉한 코드입니다. 크게 단순화되거나 제거 될 수있는 많은 외부 모델과 컨트롤러가 있습니다. 제 질문은 이전 기능을 테스트하지 않고 단순히 코드를 리팩토링하는 것이 더 나은 이유는 무엇입니까? 마감 시간 제약으로 인해 기존 코드를 모두 테스트하는 것이 좋지 않을 때 쉽게 제거 할 수 있으므로 테스트에 소요되는 시간을 정당화하는 것은 매우 어렵습니다.Buggy Rails 앱 : 테스트 또는 리팩토링?

+0

, 어떻게 리팩토링을 정당화 할 수있을 것입니다 (이 I 수단은 실질적으로 코드를 쓰기를 다시 생각이 경우)? – Elad

+0

리팩토링은 버그 수정 및 기능 추가와 함께 수행 할 수 있지만 대규모 코드 기반에서 테스트 작성은 실질적으로 모든 개발을 중단시키는 것을 의미합니다. –

+0

필기 시험이 개발을 완전히 중단시키는 이유는 무엇입니까? 우리는 원래 존재하지 않았던 테스트 커버리지를 증가시키기위한 지속적인 노력이있는 커다란 코드 기반을 가지고 있습니다. 개발자는 엄격한 릴리스 일정에 따라 새로운 기능을 추가 할뿐 아니라 * 테스트 작성에 많은 시간을 할애합니다. – Elad

답변

1

나는이 클라이언트 프로젝트 거 생각 해요. 내 접근법은 프로젝트의을 커버하기 위해 오이 테스트를 작성한 다음 쓰는 새 코드를 다루는 RSpec 구현 테스트를 작성하는 것입니다.

는 클라이언트가 당신이 구현을 변경 시작할 때, 당신은 크게 응용 프로그램의 동작을 수정하지 않았는지 확인 할 수 있습니다, 동작 시험이 길에 떨어져 서명을 가져옵니다. 그런 다음 원하는 코드에 대한 테스트를 작성하고 테스트가 모두 녹색이 될 때까지 리팩토링하십시오. 이 테스트에 더 많은 코드를 덮고 정당화하기 어려운 경우