내 테스트 중 하나가 실패하기 시작했습니다. 브라우저에서 손으로 이전에 동일한 작업을 수행하고 진행 했으므로 기능이 작동하고 있음을 보여줍니다.FactoryGirl로 만든 레코드는 컨트롤러에서 사용할 수 없습니다.
나는 기록은 다음과 같이 테스트 할 생성 :
will = FactoryGirl.create(:user, profile: "security of the internet", first_name: "will")
조사하기 위해, 나는 내 컨트롤러에서
binding.pry
전화를했다. 작업은 사용자를 검색합니다.
내가 할 경우
User.all
놀리려는 프롬프트에서, 어떤 사용자가 표시되지 않습니다, 빈 결과.
실제 테스트를 수행하면 User.all에 예상 레코드가 표시됩니다.
이 원인은 무엇입니까?
내 테스트가 js : true로 표시되어 있지 않으며 이미 절단을 사용하도록 database_cleaner를 설정했습니다. – Will
@Will 데이터베이스 클리너와 Capybara를 추가하십시오. 질문을 configs하시기 바랍니다 –
잘라 내기와 함께 database_cleaner를 사용한다고해서 트랜잭션에서 테스트를 실행하지 않는 것은 아닙니다. 그들은 일반적으로 함께 갈 것이지만 하나를 구성하면 다른 하나가 자동으로 구성되지 않습니다. 코드에서 'use_transactional_fixtures'를 검색하여 그 설정으로 이상한 일이 있는지 확인하십시오. –