2010-12-10 7 views
6

최근 레일 테스트에서 자동 테스트를하는 데 많은 문제가 발생했습니다. 그걸 계속해서 일하기를 희망하면서 그것을 계속해서 피하면서 나는 대안을 들여다보기 시작했다. 지금 당장은 시계가 훌륭한 대안이 될 것 같습니다. 그러나 나는 묻기를 원했고, 은 다른 것을 사용하는 것에 특별한 이점이 있습니까? 내가 알 수있는 가장 확실한 것은 시계를 설치하는 데 조금 더 많은 시간이 걸린다는 점입니다. 그러나, 그 후 그것은 "그냥 일하는 것"같다. 따라서 절충점은 나에게 가치있는 것처럼 보이지만 다른 장점/단점은 무엇인가?watchr 대 레일 테스트 용 자동 테스트

또한 spork의 작동 방식이나 작동 방식에 익숙하지 않지만 spork와 함께 사용할 수 있으며 훨씬 빠르게 실행되는 레일 테스트의 이점을 얻을 수 있습니까?

답변

10

필자는 예상치 못한 파일 구조를 사용하지 않는다면 최근에 자동 테스트에 문제가있었습니다. 그러므로 나는 watchr에게 시험을 보냈다. 나는 매우 기쁘다.

변경 후 테스트를 자동으로 실행하려면 두 도구가 동일해야합니다. Autotest는 레일즈 프로젝트에서 즉시 사용할 수있는 반면, watchr은 실행할 설정 파일이 필요합니다. 따라서 감시자에게는 약간의 오버 헤드가 있습니다. 그러나 이미 autotest처럼 동작하도록 watchr을 구성한 몇 가지 프로젝트가 있습니다.

특정 파일이 변경 될 때마다 사용자 정의 된 명령을 사용하자마자 watchr은 그 힘을 보여줍니다. 예를 들어, 중요한 파일이 변경 될 때마다 schema.rb가 변경되거나 업데이트 된 문서를 생성 할 때마다 rake annotate을 실행합니다.

간단한 동작 구성 문법을 통해 watchr에서 이러한 동작을 수행 할 수 있습니다 : watch('regular expression') {|match_data| your_command match_data[0]}. watchr이 (spork와 유사) 네스터와 함께 작동하는 것 같다 때문에 config_file.rb이

watch ('spec/.*_spec\.rb') {|md| system "rspec -c spec/"} 

을 포함하는 동안, 당신은 watchr config_file.rb 전화 색상의 모든 사양을 실행하려면,뿐만 아니라 spork을 통합 할 수 있어야한다.

요약 : watchr은 자동 테스트보다 훨씬 유연하지만 시작하려면 약간의 구성이 필요합니다. watchr은 spork로 잘 작동 할 수 있어야합니다.