2016-12-02 1 views
0

이것은 이상한 질문 일 수 있습니다. 나는 봤지만 질문을 보지 못했습니다.하지만 잘못된 질문을하는 것이 좋습니다.카피 바라 자동화 및 FactoryGirl을 사용하여 테스트 상태를 일시 중지

그래서 저는 공장을 사용한 통합 테스트를 다시 작성했습니다 (흥미 롭습니다.이 사이트에있는 훌륭한 사람들 덕분에 도움이되었습니다!). 그러나 im은 스크린 샷에 의존하여 테스트에서 무슨 일이 일어나길 원하는지 확인합니다.

메신저 테스트 데이터베이스 (구체적으로 SQlite)를 사용하고 있으며, 공장을 사용하고 있으므로 테스트가 끝나면 데이터가 삭제되므로 당연히 이런 일은 발생하지 않았습니다. 따라서 테스트 환경을 사용하여 서버를 실행하면 실제로 "수동으로"데이터를 검증 할 수 없습니다.

수동으로 데이터를 확인할 수있는 좋은 방법이 있습니까? 마지막에 RIGHT 테스트를 멈추거나 일시적으로 멈추는 것과 같은가? 나는 거대한 잠을 자랄 수 있다고 생각합니다. 그러나 확실하게 더 좋은 방법이 있습니까?

+0

"수동으로 확인"하여 기대에 포함시키고 테스트에 포함시키는 것을 고려 했습니까? – zetetic

+0

나는 보통 특정 값을 주장하지만 실제로 앱에서 모든 것을 "외모"를 물리적으로 볼 수 있음을 확신합니다. – msmith1114

+0

반대의 접근법을 권하고 싶습니다. 테스트를 신뢰하십시오. 테스트가 모두 초록색 일 때 모든 것이 작동 할 것이라는 확신을 갖게되어 매우 좋습니다. 그렇지 않은 경우 수정하거나 더 많은 테스트를 작성하십시오. 테스트에 대해 그런 식으로 생각하지 않는다면 항상 두 번째로 추측 할 것입니다. – zetetic

답변

1

하지만 테스트의 중단 점은 db를 쿼리하려는 명령을 사용하십시오.

나는 당신이 단순히 테스트에서 선 binding.pry을 넣고는 터미널에가 동결하고 당신은 또한 추가 할 경우, 변수를 확인 User.all 또는 User.count 같은 DB 통화를 할 수 있습니다 내 Gemfile 다음

gem 'pry-rails'를 사용 보석 pry-nav 당신은 next, step, continue 등으로 이동할 수 있습니다

+0

나는 이것을 고려해 봤지만 나는 그것을 설정하는 데보기 흉하지 않은 가이드를 찾지 못했다. 말 그대로 보석을 포함하고 테스트 파일에서 binding.pry를 호출하는 것입니다. – msmith1114

+0

네가 말하는 것처럼 아주 쉽다. Gemfile'bundle install'에 줄을 추가하고'binding.pry'를 코드에 추가하고 실행하십시오. 서버 터미널 또는 테스트 터미널이 코드에서 사용자를 끌어 올립니다. – ryan2johnson9