복붙노트

[RUBY-ON-RAILS] 어떻게 루비 온 레일즈와 TDD에 시작합니까? [닫은]

RUBY-ON-RAILS

어떻게 루비 온 레일즈와 TDD에 시작합니까? [닫은]

나는 (대학에서 수업을 테스트했다) 개념에 익숙하지만, 나는 확실히 나는 "진짜"TDD 프로젝트에 일한 적이 있기 때문에 정말 아직 사용하는 방법을 모르겠습니다.

나는 레일에 (대부분 2.3을 사용하여) 루비를 사용하여 프로젝트의 개발을 시작에 대해 생각합니다. 이 응용 프로그램은 데이터, 사용자 및 일부 파일을 관리하는 데 사용됩니다. 너무 처음에는 복잡하지 않습니다하지만 난이 TDD에 더 얻을 수있는 적절한시기라고 생각하므로 다음 6 개월 동안 많이 확장 할 수 있습니다.

나는 그것을 수행하는 방법에 대한 기본적인 생각이있어,하지만 난 여전히 포인터와 조언이 필요합니다 :

나는이 문제를 해결하기 위해 이동하고 TDD 방식을 얼마나 예제로 배우는 같은 그래서 누군가가 나에게 말할 수 :

당신은 당신의 대답이 예제를 사용할 필요가 없습니다하지만 도움이 될 것이다 :

해결법

  1. ==============================

    1.나는 레일 응용 프로그램 테스트에 대한 안내와 함께 시작됩니다.

    나는 레일 응용 프로그램 테스트에 대한 안내와 함께 시작됩니다.

    또한 Railscast 다른 테스트 도구를 사용하는 방법에 대한 몇 가지 우수한 스크린 캐스트가 있습니다.

    그들은 시험에 쉽게 때부터 모델로 시작됩니다. 간단한 규칙은 테스트의 모든 if 문을 포함 할 필요가 있다는 것입니다.

    모든 가장자리의 경우뿐만 아니라이 방법의 목적을 테스트해야합니다 (이 예상대로 작동하는지 확인합니다).

    또한 당신이 테스트를 통해 결국하지 않습니다합니다.

    당신이 시작하면 바로 시험 장치를 사용합니다. 당신은 기본에 익숙해 후에는 RSpec에 나 오이를 사용할 수 있습니다.

    자동 측정은 당신이 진정으로 테스트 주도해야 할 경우가 할 수있는 좋은 도구입니다. 하지만 필요하지 않은 '한 멋진이'입니다.

    질문에 대해 확실하지. 당신은 일반적으로 테스트를 배포하지 않습니다. 당신이 모든 테스트 클래스 단순형 '레이크 시험을'일단 모든 테스트를 실행합니다.

    정말 시간을 절약 할 수 있습니다. 당신이 경우 미로 퍼즐처럼, 당신은 당신이 시작하는 마무리에서 갈 경우를 해결하기 위해 거의 항상 쉽게 알고있다. TDD와 동일합니다. 테스트 기반없이 일관되게 '내가 다음에 무엇을해야하는지'생각하고있다. 테스트 기반으로, 테스트는 (그냥 깨진 부분을 수정해야하므로 논리가없는 경우 나누기) 당신은 무엇 다음에 할 말할 것이다. 또한 장기적으로 당신에게 많은 시간을 절약 할 적은 버그가 있습니다.

    당신은 책을 필요가 없습니다. 아무것도 학습의 가장 효율적인 방법은 다음과 같습니다 그냥 해. 당신이 질문이나 문제가 발생하면 책 또는 온라인 리소스로 다시 이동합니다. 이것은 너무 민첩하다.

    당신의 예에서, 필요 테스트하는 일들은 다음과 같습니다 접촉이 회사는 여러 연락처가 회사에 연락처 및 링크 연락처를 만들 수있는 방법을 만들 수 있습니다, 한 회사에 연결할 수 있습니다.

    class CompanyTest <Test::Unit
        def test_relationship # test associations/relationships
            c = companies(:some_company)
            assert_equal [a list of contacts], c.contacts # make sure a company can have multiple contacts
        end
    end
    
    class ContactTest<Test::Unit
       def  test_relationships
            c = contact(:some_contact)
            assert_equal some_company, c.company # make sure the contact link to 1 company
       end
    
       def  test_create/add
            # test create contacts, here you need to make sure the contact is created correctly, and linked to company correctly
       end
    end
    
  2. ==============================

    2.나는 RSpec에 1.3를 사용하여 재료 시험 커버 및 개발자의 효율성 레일 2.3에서 2010 년 여름에 샌프란시스코에서 공용 클래스로 배웠습니다 6 에피소드 비디오 시리즈를 제작했습니다. 약간 일자하지만, 주요 개념은 RSpec에 2.x를 함께 레일 3에 적용

    나는 RSpec에 1.3를 사용하여 재료 시험 커버 및 개발자의 효율성 레일 2.3에서 2010 년 여름에 샌프란시스코에서 공용 클래스로 배웠습니다 6 에피소드 비디오 시리즈를 제작했습니다. 약간 일자하지만, 주요 개념은 RSpec에 2.x를 함께 레일 3에 적용

    http://www.rubyfocus.biz/class_video/2010/07/19/rails_tdd_class_1.html

  3. ==============================

    3.나는이 책을 추천 : 루비 레일 튜토리얼에. 거의 그것으로 끝났어요. 이 책의 사용은 전체 책을 TDD. 시도 해봐!

    나는이 책을 추천 : 루비 레일 튜토리얼에. 거의 그것으로 끝났어요. 이 책의 사용은 전체 책을 TDD. 시도 해봐!

  4. ==============================

    4.나는이 책을 추천 : 레일과 민첩한 웹 개발

    나는이 책을 추천 : 레일과 민첩한 웹 개발

  5. ==============================

    5.TDD는 첫 번째 테스트를 작성하는 방법에 대한 모든 것입니다. 이것은 기본적으로 당신이 당신의 응용 프로그램 코드를 작성하기 전에 자신의 클라이언트를 작성하는 방법을 강제로. 주기는 일반적으로, 당신의 API 코드를 작성 가서, 그것은 실패 기대 테스트를 실행, 존재하지 않는 API에 대한 테스트를 작성 다시 테스트를 실행하고 있는지가 통과하게된다. 그런 다음 등 다음 테스트를 작성 ... 그리고.

    TDD는 첫 번째 테스트를 작성하는 방법에 대한 모든 것입니다. 이것은 기본적으로 당신이 당신의 응용 프로그램 코드를 작성하기 전에 자신의 클라이언트를 작성하는 방법을 강제로. 주기는 일반적으로, 당신의 API 코드를 작성 가서, 그것은 실패 기대 테스트를 실행, 존재하지 않는 API에 대한 테스트를 작성 다시 테스트를 실행하고 있는지가 통과하게된다. 그런 다음 등 다음 테스트를 작성 ... 그리고.

    당신은이 레일 가이드에 관심이있을 수 있습니다.

  6. ==============================

    6.나는 사용한다 :

    나는 사용한다 :

  7. ==============================

    7.나는 항상 했어야을 즐겼다.

    나는 항상 했어야을 즐겼다.

    난 항상 TDD 개발을 선호 한 이유는 내가 코드의 특정 조각을 구현하는 방법을 초점을 맞추고 있다는 점이다. 나는 TDD 원칙을 더 강하게 부착 할 때마다 나중에 재 작업 시간을 줄일 수 있다는 일화 느낌이 듭니다. 소요 시간은 당신이 단위 테스트하지만 쓰기 얼마나 잘 모두이다. 단위 테스트가 예상 동작을 캡처하지 않는 경우, 그들에 보낸 모든 시간이 낭비된다.

  8. from https://stackoverflow.com/questions/1386562/how-to-get-started-on-tdd-with-ruby-on-rails by cc-by-sa and MIT license