2017-03-08 2 views
1

Rspec은 자리에 focus: true에 대한 편리한 기능을 제공하여 테스트를 별도로 실행합니다. $zeus rake parallel:specRspec과 함께 Zeus Parallel Spec을 사용할 때 단일 테스트를 실행할 수 없습니다. 포커스 : true가 작동하지 않습니다.

다음

의 모든 결과에서 작동하지 않습니다 그리고 $bundle exec rspec spec 작업을 실행하는 사실이 기능

그러나, 혼자 병렬 사양 $rake parallel:spec

또는 제우스와의 사용을 만들려면

왜? 나는 그것을 무시하고 싶지 않아!

병렬 사양을 사용하는 동안 단일 테스트 또는 단일 파일을 실행할 방법이 없습니까? 병렬 처리와 관련된 오류를 설정하고 디버깅하려고 시도하지만 전체 테스트를 실행하여 수정 프로그램을 테스트하지 않아도됩니다.

도 작동하지 $zeus rake parallel:spec spec/features/testing_questionnaire_submission_spec.rb

로 나중에 같은 파일 위치를 지정.

답변

1

이것은 좋은 질문이며 구성에 parallel_tests와 동일한 문제가 있습니다. parallel_tests는 파일을 별도의 스레드로 나누기 때문에 어쨌든 단일 파일 다중 스레드를 실행하면 아무런 이점이 없습니다. 실행할 때

이 볼 수 있습니다 : 그것은 1 processes for 1 specs, ~ 1 specs per process을 말할 것이다

parallel_rspec spec/models/some_test.rb 

. 당신이 실행 한 후, some_test.rb에 하나의 스펙을 실행하는 it 또는 specify 블록 :focus을 사용하고 싶은 경우

따라서,

rspec spec/models/some_test.rb 
or 
parallel_rspec spec/models/some_test.rb 

는 문제가되지 않습니다. 단일 사양 파일을 실행하려면 동일한 명령을 :focus으로 사용하십시오.

수정해야 할 문제는 parallel_rspec이 실행되고 테스트 중 어딘가에 :focus이있는 경우에만 해당 사양을 실행해야합니다. 대신, :focus을 포함하는 스레드를 제외한 모든 스레드에서 모든 사양을 실행하는 것처럼 보입니다.이 스레드는 해당 스레드에서 해당 테스트를 하나만 실행합니다.

그리고 당신은 여기에서 볼 수 있습니다,이 문제가 해결 얻을 것입니다 생각하지 않습니다 : https://github.com/grosser/parallel_tests/issues/114

+0

붐 당신이 대답을 제공했다. 필자는 항상 parallel을 사용하여 테스트를 수행했습니다. spec 및 parallel_rspec이 아닌 이유는 라인 구문이 작동하지 않는 이유 일 수 있습니다. 어떤 것을 언제 사용해야하는지 알고 있습니까? parallel_rspec로 단일 테스트를 실행할 수 있기를 원하는 이유는 parallel_tests (트위터/부트 스트랩을로드하지 않음)에서만 발생하는 오류가 발생했기 때문입니다. 하나의 테스트 만 실행할 수 있다는 것은 새로운 수정 시도 사이에 6 분을 기다릴 필요가 없다는 것을 의미합니다. –