레일스 애플리케이션에서 (OS-X에서) 개발 중이며 rspec을 통해 테스트 스위트를 자주 실행하는 것을 발견했습니다. 매번 발생하지는 않습니다. 나는 매번 동일한 장소에서 일어나는지를보기 위해 suite를 실행할 때 --format documentation
을 추가하려고 시도했다.Rspec 프로세스가 다른 위치에서 중지되므로 프로세스를 종료 할 수 없습니다. 진단하는 방법?
kill -9
으로 프로세스를 죽이려고했습니다. 그런 다음 프로세스 상태가 ?E
인 이름을 (루비)로 변경합니다. 이 link은 시스템 호출이 완료 될 때까지 프로세스가 차단되어 있음을 나타냅니다. 이 과정을 죽이기 위해 매번 컴퓨터를 다시 시작해야합니다.
나는 rvm, ruby, mysql 및 imagemagick을 다시 설치하려고 시도했습니다. 이 프로젝트는 imagemagick (mini_magick을 통해) 보석을 사용하고 있으며 rspec을 차단하는 명령 중 하나 일 수 있습니다. 나는 각각의 mini_magick 명령에 대해 puts
문을 추가하여 실행이 완료되도록하고 모든 것이 잘 보였다.
이 문제를 진단하는 방법에 대한 제안 사항을 찾고 있습니다.
'-e' 스위치를 사용하면 지정한 패턴을 기반으로 특정 사양 만 실행할 수 있습니다. 자세한 정보는'rspec -h'를 실행하십시오. – iain
개별 사양 또는 작은 사양의 하위 집합 (단일 파일)을 실행할 때 문제가 발생하지 않는 것 같지만 전체 테스트 제품군을 실행하는 경우 문제가 발생하지 않습니다. 프로세스가 차단 된 것을 디버깅하는 방법을 찾고 있습니까? – MAckerman
적어도 사양 중 일부는 게시해야한다고 생각합니다. 적어도 수행하려고하는 것에 대한 아이디어를 얻을 수는 있습니다. 또한 사양이 임의의 순서로 실행되고 있지 않은지 확인하십시오. RSpec을 사용하여 spec_helper 파일을 생성 한 경우 무작위 순서가 기본값으로 추가됩니다. – iain