2012-10-08 2 views
0

나는 짧은 bash 스크립트를 사용하여 수업을 위해 루비에서 링크 된 목록의 구현을 테스트하는 데 도움을주고있다. 나는 RSpec에 단위 테스트에 대해 알고, 그리고 나는 그들이 내가 할 노력하고있어 더 나은 옵션이있어 확실 해요,하지만 난이 명령입력을 처리 한 후에 STDin을 IRB에 전달하지 않고 어떻게 종료 할 수 있습니까?

echo "require './nodes'" | irb 

이후에 출력을 알아낼 수 있었다 IS

Switch to inspect mode. 
require './nodes' 
true 

기술적으로는 성공했지만 irb 프로세스는 여기서 끝납니다. 그래서 나는 나에게

Switch to non inspect mode. 
require './nodes' 
true 

했다

echo "require './nodes'" | irb --noinspect 

을 시도하고 다시 IRB 프로세스를 종료합니다.

저는 작업 흐름을 좀 더 편리하게하려고합니다. irb를 사용하여 파일을 테스트하고 어떤 일이 벌어 지는지보고 싶습니다.

답변

2

간단한 스크립트를 작성하면 아래 코드가 'nodes'gem이 포함 된 irb 쉘로 연결됩니다. Ruby 1.8.x를 사용하는 경우 노드를 요구하기 전에 require 'rubygems'을 추가해야합니다

#!/path/to/ruby -w 

require 'irb' 
require 'nodes' 
IRB.start 
+0

고마워요! 트릭을 했어. 할당되었지만 사용되지 않는 변수에 대해 많은 경고를합니다. IRB에서 가져와야합니다. 그 경고를 조용히하는 어떤 방법이라도? 작동하지만 메시지가 없으면 더 나아질 것입니다. –

+0

shebang 줄에서'-w'을 제거하십시오. –

+0

도오리, 내가 그것을 보았어 야했다는 것을 알고 있었다. –