2009-02-08 5 views
2

저는 현재 test/unit을 사용하고 있으며, rspec 사용을 고려 중입니다. 그러나 rspec currently은 루비 1.9.1에서 heckle을 지원하지 않으며 대상 모듈/클래스/메소드와 별개로 매개 변수를 전달하는 것을 지원하지 않습니다.rspec과 heckle은 얼마나 호환됩니까?

heckle 및 rspec을 사용하는 데있어 다른 현재 문제가 있습니까? 아니면 두 가지 문제를 제외하고는 서로 잘 작동합니까?

또한 테스트/유닛으로 잠시 머물러 있으면 오이와 함께 사용해야합니까?

편집 : 1.9.1 문제는 rspec의 오류가 아닙니다. parsetree가 1.9.1에서 실행할 수 없으므로, ruby 1.9.1에서 heckle을 실행할 수 없습니다.

답변

4

내가 마지막으로 확인했을 때, Heckle + RSpec이 잘 작동하지 않아 많은 사람들이 함께 사용한다고 생각하지 않습니다.

위로 2008 년 봄 나는 RSpec과 Heckle이 전혀 일하고 있지 않다는 것을 알아 차 렸습니다. 나는 패치를 만들었고 RSpec 1.1.14로 받아 들여졌다. 이러한 변화가 일어난 후에도, 헤클은 매우 유용하다고 생각하지 못했습니다. 내가 올바르게 기억한다면 헤클 자체가 사소한 프로그램과 충돌한다는 것이다.

상황이 그대로있는 것은 정말 유감입니다. 도움을 받으려는 경우, boo-hiss 프로젝트를 보길 원할 수 있습니다 : http://github.com/halorgium/boo_hiss/tree/master.

업데이트 : 2 년 후, 지난 주에 Heckle (Heckle 1.4.2)의 새 버전이 출시되었습니다. 어쩌면 이것이 제가 경험 한 문제를 해결했을 수도 있습니다.

+0

감사합니다. 이제 설치를 시작하십시오 ... –

0

현재 heckle 1.4.2 및 rspec 1.2.4를 실행하여 Addressable을 테스트하고 있습니다. 스 커크 작업을 통해 설정하는 것보다는 아무것도 지정하지 말고 spec 명령을 직접 사용하는 것이 좋습니다. 헤클 링 (heckling)은 시간이 많이 소요되는 일반 개발 과정이 아니라 출시 직전에 일반적으로하는 일입니다. 생존 한 돌연변이를 추적하려고 할 때, 당신은 방법 별 방법을 사용하기를 원할 것입니다.

RSpec의 구버전은 훨씬 더 차갑게 - 모든 사양에 대한 전체 사양 결과를 덤프했지만 패치를 통해 보냈습니다. 최근 버전에는 이러한 문제가 없으며 heckling은 잘 작동합니다. 예를 들어

:

spec spec/**/*_spec.rb --heckle Addressable::URI#normalize 

출력 :

********************************************************************** 
*** Addressable::URI#normalize loaded with 25 possible mutations 
********************************************************************** 

25 mutations remaining... 
24 mutations remaining... 
23 mutations remaining... 
22 mutations remaining... 
21 mutations remaining... 
20 mutations remaining... 
19 mutations remaining... 
18 mutations remaining... 
17 mutations remaining... 
16 mutations remaining... 
15 mutations remaining... 
14 mutations remaining... 
13 mutations remaining... 
12 mutations remaining... 
11 mutations remaining... 
10 mutations remaining... 
9 mutations remaining... 
8 mutations remaining... 
7 mutations remaining... 
6 mutations remaining... 
5 mutations remaining... 
4 mutations remaining... 
3 mutations remaining... 
2 mutations remaining... 
1 mutations remaining... 
No mutants survived. Cool! 

(결과하지 전형적인.) 그에 대한

+0

테스트 방법이 첫 번째 실패한 테스트를 마쳤을 때 완료를 알았고 테스트 방법을 주문할 때 어떤 순서로 실패가 일찍 발생하는지 알고 있다면 헤클링이 더 빠를 것이라고 생각합니까? –

+0

나는 주문을 최적화하는 것이 불가능할 것이라고 생각하지만, 주문 사양의 러너가 물건을 단락시킬 수 있으며, 네, 물건을 빠르게 할 수 있습니다. –