2010-08-30 1 views
14

나는 단위 테스트 장면이 처음이다. 나는 단 2 개월 만에 단위 테스트를 사용했다. 루비에서 단위 테스트를 할 때 나는 현재 TDD 스타일을 따르고 Test :: Unit :: TestCase를 사용한다. RSpec에 대한 내용과 BDD 방법론을 따르는 방법에 대해서도 읽었습니다. 두 프레임 워크 사이에있는 Shoulda에 대해서도 읽었습니다. 내 질문은 어떤 프레임 워크를 RSpec 또는 Shoulda에게 맡겨야 하는가 아니면 Test :: Unit :: TestCase를 사용해야 하는가? 주제에 대한 의견을 보내 주시면 감사하겠습니다.RSpec vs. Shoulda?

답변

14

RSpec에는 구문 외에도 많은 유용한 기능이 있습니다. 나는 Shoulda보다 그것을 추천 할 것이다.

Shoulda의 Thoughtbot조차도 RSpec을 지금 사용하고 있습니다. Shoulda는 RSpec 플러그인으로 작동하며 여러 유용한 matchers를 제공합니다.

15

Test :: Unit 및 RSpec을 사용하여 RSpec 대신 Shoulda를 선택하거나 그 반대의 경우를 생각하지 않아야합니다. 나는 여러 프로젝트에서 Shoulda를 사용하고, 일부는 Test :: Unit으로 테스트했으며, 다른 하나는 RSpec으로 테스트했으며, 두 프레임 워크와 함께 훌륭하게 작동한다.

기존의 Test :: Unit 프로젝트에서 Shoulda를 사용하는 것이 좋습니다. 그것은 당신에게 많은 키 스트로크를 줄여주고 테스트 클래스를 좀 더 깔끔하고 일관되게 유지할 수 있습니다.

앤드류 비트 (Andrew Vit)가 말한 것처럼 Shoulda 팀은 점점 더 RSpec 방식을 선호하고 있습니다 (http://robots.thoughtbot.com/post/701863189/shoulda-rails3-and-beyond 참조). RSpec을 시험해보고 당신이 그것을 얼마나 좋아하는지 볼 가치가 있습니다. 그것은 모든 사람의 취향은 아니지만 Test :: Unit의 구문, 표현, 중첩 된 컨텍스트, 사용자 지정 matchers 및 모든 멋진 차가움을 선호합니다. ;-)

1

아무 것도 없습니다. 서로 다른 테스트 도구를 사용하십시오.

Shoulda는 훌륭한 단일 행 테스트 도구입니다. 테스트를 깨끗하고 간결하게 유지하는 데 도움이됩니다. 이 스타일이 마음에 들면, 지브라 보석을 권하고 싶습니다. one-liner 테스트를 작성하는 멋진 작은 도구입니다.