2011-12-20 1 views
1

레일 3.1을 사용하는 앱에 대한 자동화 된 테스트를 작성하고 있습니다. 내 테스트 중 하나가 실패하고 실패한 시점에 나는 레일 콘솔에 뛰어 들여 사물의 상태를 검사 할 수 있기를 원합니다. 이 주장에 이르기까지 많은 대상이 만들어지고 상태가 변경되었습니다.레일 자동 테스트에서 어떻게 콘솔을 스폰합니까?

테스트 스위트 실행이 끝나면 테스트 데이터베이스가 삭제됩니다.

나는 테스트 파일이나 콘솔에 나를 던져 버릴만한 뭔가에 브레이크 포인트를 삽입하는 방법이 있음을 기억한다. 나는 인터넷 검색을 해봤 다 그것을 찾을 수 없습니다.

누구나?

+0

나는 단순히 "레일 콘솔 테스트"를 의미하지 않는다는 것을 덧붙여 야합니다. 나는 구체적으로 내 주장이 실패한 시점에서 상태를 조사하고 싶다. –

답변

4

Gemfile에서 루비 디버그가 필요합니다.

1.8의 경우 :

gem 'ruby-debug'

1.9의 경우 : 당신이 1.9.3에있어 경우 few tweaks 필요로

gem 'ruby-debug19', :require => 'ruby-debug'

참고.

마지막으로 디버그 할 곳에 debugger 문을 넣고 테스트를 실행하십시오. 그것은 콘솔을 팝업해야합니다.

Amadan이 말한대로 pry을 살펴 보시기 바랍니다.

+0

아, 나는 stackoverflow에 처음이며, 주석이 개행을 허용하지 않는다는 것을 발견했다. 나는 아직도 가지고있는 문제점에 나의 질문을 편집했다. 미리 감사드립니다. –

+0

1.9.3p0, rails 3.1.3 –

+0

어설 션 이전에'debugger'를 넣으십시오. –

2

Pry를 사용하고 binding.pry을 중단 점으로 말하십시오.

너는 this Railscast을 좋아할 것이다.

+1

아만다의 제안은 간단하지만 간과하지 않습니다. 나는 항상 pry를 사용하며 나는 루비 디버그보다 더 쉽다고 생각한다. 연결된 레일이 시작하는 좋은 방법입니다. – HectorMalot

+1

아만다는 누구입니까? : P – Amadan

관련 문제