2011-01-07 5 views
8

레일스에서 ​​테스트를 처음 사용합니다. 나는 Test Driven Development를 배우기로 결심했다. 그래서 나는 그것을 레일에서 어떻게 움직이는 지 연구하고있다.레일 앱을 테스트하는 가장 좋은 방법은 무엇입니까?

필자는 Test :: Unit으로 시작하여 곧 더 나은 도구와 테스트 프레임 워크를 사용할 수 있음을 알게되었습니다. 내가 들어 본 것 지금 내가 진행하는 방법에 대한 매우 혼란 스러워요

  1. 했어야
  2. 모카
  3. RSpec에
  4. 오이
  5. 공장 소녀

있습니다. 내가 배울 필요가있는 이들 도구 중에서 가장 좋은 조합은 무엇입니까? 또한 이것들을 배우기위한 자원을 어디에서 찾을 수 있습니까?

내가

+0

좋은 질문입니다. 정말 좋은 답변을 얻을 수 있기를 바랍니다! – Zabba

+2

http://www.opensourcerails.com/에서 Spree 또는 다른 것과 같은 알맞은 크기의 실제 프로젝트를 선택하고 앱에서 테스트를 이해하려고 시도하십시오. 물론 테스트의 일부를 이해하려면 실제 출처를 조사해야합니다. IMHO, 이것은 일반적인 레일에서도 더 잘 될 수있는 좋은 방법입니다. – Zabba

답변

1

3.0 개인적으로 난 내 응용 프로그램에서 오이, RSpec에와 공장 소녀를 사용하여 레일에 응용 프로그램을 구축하고있다. 리소스에 관해서는, Rails 3 in Action이라는 책을 쓰고 있는데,이 도구를 사용하여 애플리케이션을 개발합니다 (물론 레일즈 자체도 마찬가지입니다).

17

레일 앱을 테스트하는 가장 좋은 방법은 무엇입니까?

테스트 먼저.

더 진지하게, 당신은 다른 일을하도록 고안된 여러 가지 도구를 나열했습니다.

  • Shoulda는 테스트 실행을위한 테스트 프레임 워크이며 테스트 작성을위한 매처와 어설 션 세트입니다.
  • 모카는 모킹 및 스터 빙 라이브러리입니다.
  • Rspec은 조롱 도구와 matchers가 포함 된 테스트 프레임 워크입니다.
  • 오이는 기능 테스트를 작성하기위한 프레임 워크입니다.
  • 팩토리 걸은 테스트에 사용하는 도메인 개체를 작성하기위한 프레임 워크입니다.

그 중 Shoulda 또는 Rspec은 Test :: Unit을 대체 할 수 있지만 나머지는 Test의 다른 영역에 도구를 제공합니다. 당신이 필요로하는 것은 필기 시험을보다 쉽고 효과적으로 만들어 줄 것이라고 생각하는 것에 달려 있습니다.

Test :: Unit unit tests에 익숙하고 추가 도구를 배우는 데 관심이있는 사람은 다음을 제안합니다.

Test :: Unit을 사용하는 기존 프로젝트가있는 경우 모카의 조롱과 스터 빙을 추가하는 것이 좋습니다. 그러면 집중된 단위 테스트를 더 쉽게 작성할 수 있습니다. 이미 설치물을 가지고 있다면, 공장 모델을 사용하여 새로운 모델 객체를 추가 할 때 팩토리를 생성하고 테스트를 쉽게 관리하고 유지할 수 있는지 다시 확인하십시오. 단위 테스트의 견고한 세트가 이미있는 경우 Cucumber를 사용하여 상위 수준의 기능 테스트를 작성하여 테스트에서 사용자 스토리를 캡처하고 앱을 끝까지 테스트 해보십시오.

새 프로젝트를 시작하려면 Rspec 및 Factory Girl에서 시작하십시오. Rspec은 Test :: Unit와는 아주 다른 테스트 스타일을 소개 할 것입니다.하지만 여전히 익숙한 단위 테스트를 작성하고 너무 많은 새로운 테스트가 필요없이 테스트에 뛰어들 수있는 스텁, mock 및 matchers를 제공합니다. 귀하의 프로젝트에 보석. Factory Girl은 테스트가 요구할 때 도메인 객체를 작성하는 편리한 방법을 제공합니다. 그 둘 사이에 당신은 평소의 단위 테스팅 워크 플로우로 작업하면서 새로운 테스팅 트릭을 얻을 수 있어야합니다.

+3

학습을위한 자습서가 있습니다. 나는 당신의 제안에 rspec을 시작했지만 시작하는데 많은 어려움을 겪고있다. Rspec을 추가해야하는 기존 앱이 있습니다. 어떻게해야합니까? –

관련 문제