어떤 Ruby on Rails TDD 101 기사를 읽어야합니까?
레일 애플리케이션 테스트 가이드로 시작하겠습니다 .
또한 Railscast 에는 다양한 테스트 도구를 사용하는 방법에 대한 훌륭한 스크린 캐스트가 있습니다.
무엇을 테스트해야합니까?
테스트하기 쉽기 때문에 모델부터 시작하겠습니다. 간단한 규칙은 테스트의 모든 if 문을 포함해야한다는 것입니다.
모든 엣지 케이스뿐만 아니라 메소드의 목적 (방법이 예상대로 작동하는지 확인)을 테스트해야합니다.
또한 테스트를 끝내지 않도록하십시오.
어떤 보석 / 플러그인을 사용해야합니까? rspec을 사용해야합니까? 다른 것?
시작할 때을 사용하십시오 Test Unit
. 기본 사항에 익숙해 rspec
지거나 사용 cucumber
하면됩니다.
Autotest
당신이 진정으로 테스트 주도되고 싶다면 좋은 도구입니다. 그러나 '좋은 것'은 필요하지 않습니다.
모든 테스트 수업을받은 후에는 어떻게 진행하고 배포합니까?
질문이 확실하지 않습니다. 일반적으로 테스트를 배포하지 않습니다. 모든 테스트 클래스를 갖추면 간단한 테스트 'rake test'를 입력하여 모든 테스트를 실행하십시오.
TDD에 시간이 얼마나 걸리나요?
정말 시간이 절약됩니다. 당신이 미로 퍼즐을 좋아한다면, 당신은 거의 처음부터 끝까지 그것을 해결하는 것이 항상 쉽다는 것을 알고 있습니다. TDD와 동일합니다. Test Driven 없이는 '다음에해야 할 일'을 꾸준히 생각하고 있습니다. Test Driven을 사용하면 다음에 수행 할 작업이 테스트에 표시됩니다 (논리가 없으면 중단되므로 깨진 부분 만 수정하면 됨). 또한 버그가 적어 장기적으로 많은 시간을 절약 할 수 있습니다.
이것에 관한 책을 읽어야합니까, 아니면 책을 가지고 놀거나 온라인 자습서를 읽음으로써 모든 것을 얻을 수 있습니까? 책을 읽어야한다면 어떤 책입니까?
책이 필요 없습니다. 무엇이든 배우는 가장 효율적인 방법은 바로 그렇게하는 것입니다. 질문이나 문제가 발생하면 책이나 온라인 자료로 돌아가십시오. 이것도 민첩합니다.
예를 들어 테스트해야 할 사항은 다음과 같습니다. 연락처는 한 회사에 연결될 수 있고, 회사는 여러 연락처를 가질 수 있으며, 연락처를 작성하는 방법을 작성하고, 연락처를 회사에 연결할 수 있습니다.
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