2011-03-01 5 views
5

일반적으로 단위 테스트 및 루비와 관련된 행동과 패턴을 구체적으로 시작할 필요가 있음을 깨달았습니다. 다른 언어로. 시작하는 방법에 대한 좋은 예가 있습니까? 내가 가지고있는 문제는 현재 사용하고있는 시스템에서 단위 테스트를 시작하는 것 같이 극복 할 수 없다는 것입니다.절대 초보자를위한 단위 테스트 - 저는 Ruby를 사용하고 있습니다.

나는 루비의 핵심 클래스가 잘 작동하는 것처럼 보이는 15 가지 정도의 온라인 튜토리얼을 시도하는 것 외에는 조작 코드에 대한 단일 단위 테스트를 만든 적이 결코 없다. 나는 내 시스템을 위해이 테스트들을 어떻게 만들어야하는지, 그리고 무엇을 찾고 테스트해야하는지에 대한 정신 상태를 알아야한다.

assert_true가 true이고 반대가 false 인 것을 테스트하는 것 이상의 방법을 보여주는 온라인 자습서가 있습니까? 루비가 아니더라도 무엇을 읽어야하며 읽고 테스트해야하는 단위 테스트 가이드를 시험해야합니까? 가급적이면 단계별 자습서 1 단계.

실제로 존재하는 모델과 프레임 워크에서 이러한 단위 테스트를 사용하는 것과 실제로 테스트 할 대상은 무엇입니까? 나는 여전히 테스트 정신에 대해 머리를 쓰려고 노력하고 있으며, 나는 다른 요소들에 의해 엇갈려있다. 가이드 나 튜토리얼을 작성한 모든 사람들이 시스템에 접근하는 논리를 내면화 한 것처럼 보이므로 단위 테스트에 접근하기 위해 필요한 정신력을 구체적으로 설명하지는 못했습니다.

도움이 될 것입니다.

답변

3

기술적으로 "그것은 또한 더 검증보다는 문서의 행위이다"하지만 설명하는 개념의 좋은 일을 수행하고 자습서를 확장했기 때문에 나는 The RSpec Book를 추천 할 것입니다. 이 책의 두 번째 섹션은 오이를 다루므로 그 사실을 가르쳐 줄 것입니다.

1

필자는 이것이 Perl 튜토리얼임을 알고 있지만, 접근법/철학에 대해서는 실제로 유용하다고 생각합니다 : cromatic's and Michael G Schwern's Test::Tutorial pdf. 첫 번째 튜토리얼은 내가 읽은 테스트 중 첫 번째 테스트가 실패하고 다른 많은 유용한 팁이 있음을 알리는 것입니다.

1

sidetracked를 사용하면 rcov와 같은 코드 커버리지 도구와 같은 세부 사항과 heckle, flog, flay과 같은 더욱 자세한 도구와 같은 세부 정보를 쉽게 얻을 수 있습니다. 이러한 도구는 훌륭하고 버그를 추적하지만 설계 및 문서화와 관련된 단위 테스트의 보조가되어야합니다.

나는이 그것을 요약 느낌 - agile TDD 페이지

  • 에서 "단위 테스트를 작성하는 행위는 검증보다는 디자인을 더 행위입니다."
  • 는 BDD의
+2

단위 테스트는 TDD가 아니며 TDD는 단위 테스트가 아닙니다. TDD는 단위 테스트 도구를 사용하여 원하는 결과의 사양을 만듭니다. 단위 테스트는 합리적으로 테스트 할 수있는 가장 작은 단위에서 테스트합니다. 당신이 지적했듯이 : TDD는 테스트 방법론이 아니며 그렇게 간주되어서는 안됩니다. –