이 응용 프로그램은 우리가 그것에 왔을 때 실제로 테스트가 없었고, 이제는 가장 필수적인 부분을 커버하는 오이 테스트가 있습니다. 앱이 제대로 작동하는지, 개발 과정에서 많은 재난이 발생했는지는 확실하지 않습니다. 그 중 대부분은 발견되지 않은 버그로 인해 발생합니다. 이 코드는 뷰에 HTML과 PHP를 생성하는 모델이있는 곳에서는보기 흉한 코드입니다. 크게 단순화되거나 제거 될 수있는 많은 외부 모델과 컨트롤러가 있습니다. 제 질문은 이전 기능을 테스트하지 않고 단순히 코드를 리팩토링하는 것이 더 나은 이유는 무엇입니까? 마감 시간 제약으로 인해 기존 코드를 모두 테스트하는 것이 좋지 않을 때 쉽게 제거 할 수 있으므로 테스트에 소요되는 시간을 정당화하는 것은 매우 어렵습니다.Buggy Rails 앱 : 테스트 또는 리팩토링?
2
A
답변
1
나는이 클라이언트 프로젝트 거 생각 해요. 내 접근법은 프로젝트의을 커버하기 위해 오이 테스트를 작성한 다음 쓰는 새 코드를 다루는 RSpec 구현 테스트를 작성하는 것입니다.
는 클라이언트가 당신이 구현을 변경 시작할 때, 당신은 크게 응용 프로그램의 동작을 수정하지 않았는지 확인 할 수 있습니다, 동작 시험이 길에 떨어져 서명을 가져옵니다. 그런 다음 원하는 코드에 대한 테스트를 작성하고 테스트가 모두 녹색이 될 때까지 리팩토링하십시오. 이 테스트에 더 많은 코드를 덮고 정당화하기 어려운 경우관련 문제
- 1. 데이터베이스없이 Rails 앱 테스트
- 2. 리팩토링 코드는 더 테스트 가능합니다
- 3. iphone에 Rails 앱 용 Rhodes 또는 Titanium?
- 4. SketchFlow WP7 Navigation Buggy
- 5. 앱 라이선스 테스트
- 6. 웹 앱 스트레스 테스트
- 7. Ruby/Rails 테스트 사례
- 8. RAILS : 테스트 캐싱 중지
- 9. Rails 테스트 픽스쳐와 고유성
- 10. Rails ActionMailer의 기본값 테스트
- 11. Windows에서 iphone 웹 앱 테스트
- 12. GUI가있는 간단한 웹로드 테스트 앱
- 13. Amazon EC2의 Autoscale Rails 앱
- 14. Amazon의 SQS with Rails 앱
- 15. 처음부터 Rails 앱 빌드하기 - 이상적인 워크 플로우는 무엇이되어야합니까?
- 16. 리팩토링 : 중첩 클래스 또는 별도 클래스?
- 17. git grep buggy - 병렬 검색을 비활성화 하시겠습니까?
- 18. Ruby에서 리팩토링
- 19. 리팩토링 브라우저
- 20. Facebook 페이지/앱 테스트 환경
- 21. 앱 구매 테스트 중 EXC_BAD_ACCESS
- 22. 앱 전체에서 테스트 데이터 지속하기
- 23. 기기의 iPad 앱 테스트 문제
- 24. 어떤 테스트 방법을 사용합니까? [Rails]
- 25. Rails/Rspec : delayed_job 메일 테스트
- 26. 루트 디렉토리에있는 Ruby on Rails 앱?
- 27. Ruby on Rails 웹 사이트 아이폰 앱
- 28. rails 또는 actionmailer에서 상태를 보냈습니다.
- 29. 모바일 앱 또는 웹 앱 또는 둘 모두?
- 30. Blackberry 앱 : 기본 또는 웹 앱?
, 어떻게 리팩토링을 정당화 할 수있을 것입니다 (이 I 수단은 실질적으로 코드를 쓰기를 다시 생각이 경우)? – Elad
리팩토링은 버그 수정 및 기능 추가와 함께 수행 할 수 있지만 대규모 코드 기반에서 테스트 작성은 실질적으로 모든 개발을 중단시키는 것을 의미합니다. –
필기 시험이 개발을 완전히 중단시키는 이유는 무엇입니까? 우리는 원래 존재하지 않았던 테스트 커버리지를 증가시키기위한 지속적인 노력이있는 커다란 코드 기반을 가지고 있습니다. 개발자는 엄격한 릴리스 일정에 따라 새로운 기능을 추가 할뿐 아니라 * 테스트 작성에 많은 시간을 할애합니다. – Elad