2013-02-21 4 views
0

루비에서 시작하고 다양한 테스트 방법/프레임 워크에 대해 읽었습니다 : 단위 테스트 (최신 루비 버전의 MiniTest :: Unit), Rspec, Cucumber 및 Capybara. 그러나 나는 그들 각각의 주된 "가치"를 완전히 파악하지 못하고, 다른 것들과 차별화됩니다. 그리고 우리의 앱이 잘 테스트 될 수 있도록 모든 것을 혼합해서 사용할 수 있다면 좋겠습니까?Unit Test, Rspec, Cucumber 및 Capybara를 사용하는데 요점이 있습니까?

답변

1

개인적으로 기능 테스트에는 RSpec을 사용하고 통합 테스트에는 capybara/cucumber을 사용합니다. RSpec은 내가 예상 한대로 수업을 수행 할 수 있도록 테스트를 작성하는 데 적합합니다. Cucumber은 내 견해가 내가 기대 한대로 수행되는지 확인하기 위해 (카피 바라 또는 webrat과 함께) 훌륭합니다.

테스트는 Rails 앱을 작성하는 데 큰 자산입니다. 얼마나 자주 내가 무엇인가를 바꿀 것이고, 나의 테스트는 그 변화에 예기치 않은 부작용이 있다는 것을 알게됩니다. 또한 테스트에서 중복하여 테스트를 통과하여 버그를 해결할 수 있으므로 버그를 해결하는 데 도움이됩니다.

So : rspec (및 FactoryGirl) 내 수업에서 의도 한 바를 확인하고 cucumber은 내 사용자가 의도 한대로 웹 사이트와 상호 작용하는지 확인합니다.

+0

답변 해 주셔서 감사합니다. Factorygirl은 reallu에 유용합니까? FactoryGirl을 어떻게 보완합니까? – Mathieu

+0

그래서 당신은 Test :: Unit으로 단위 테스트를 사용하지 않습니까? 아마 Rspec과 겹칠 것 같은가요? – Mathieu

+0

예, RSpec은 Test :: Unit을 대체합니다. 구문이 좋고 유연성이 더 좋습니다. Factorygirl은 반복적으로 테스트를 실행할 수있는 객체를 조롱하는 데 적합합니다. Mechanize는 Factorygirl 대신 사용할 수도 있습니다. 매번 동일한 결과를 반환하지 않는 한 테스트는 쓸모가 없습니다. FactoryGirl은 매번 제어하는 ​​정의 된 객체에 대해 테스트가 실행되는지 확인합니다. –