2015-01-16 5 views
0

내가 레일 4, RSpec에, FactoryGirl, 위조자 ...RSpec에 + FactoryGirl + 위조자는 무작위로

하지만 RSpec에 테스트가 개발 ENV에 무작위로 실패와 협력, 연구의 경우 프로젝트가 실패하는 테스트합니다. 나는 많은 것을 찾고있다. 그러나 누군가 내가 그것을 이해할 수 있으면, 나는 인정할 것이다. 테스트 할

Failure/Error: @chloe = FactoryGirl.create(:user) 
ActiveRecord::RecordInvalid: 
    translation missing: pt-BR.activerecord.errors.messages.record_invalid 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activerecord-4.1.8/lib/active_record/validations.rb:57:in `save!' 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activerecord-4.1.8/lib/active_record/attribute_methods/dirty.rb:29:in `save!' 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activerecord-4.1.8/lib/active_record/transactions.rb:273:in `block in save!' 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activerecord-4.1.8/lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status' 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `block in transaction' 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `within_new_transaction' 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `transaction' 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activerecord-4.1.8/lib/active_record/transactions.rb:208:in `transaction' 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activerecord-4.1.8/lib/active_record/transactions.rb:326:in `with_transaction_returning_status' 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activerecord-4.1.8/lib/active_record/transactions.rb:273:in `save!' 
# /Users/marceloboeira/.rvm/gems/ruby-2.0.0-p353/gems/factory_girl-4.5.0/lib/factory_girl/configuration.rb:14:in `block in initialize' 
# /Users/marceloboeira/.rvm/gems/ruby-2.0.0-p353/gems/factory_girl-4.5.0/lib/factory_girl/evaluation.rb:15:in `[]' 
# /Users/marceloboeira/.rvm/gems/ruby-2.0.0-p353/gems/factory_girl-4.5.0/lib/factory_girl/evaluation.rb:15:in `create' 
# /Users/marceloboeira/.rvm/gems/ruby-2.0.0-p353/gems/factory_girl-4.5.0/lib/factory_girl/strategy/create.rb:12:in `block in result' 
# /Users/marceloboeira/.rvm/gems/ruby-2.0.0-p353/gems/factory_girl-4.5.0/lib/factory_girl/strategy/create.rb:9:in `tap' 
# /Users/marceloboeira/.rvm/gems/ruby-2.0.0-p353/gems/factory_girl-4.5.0/lib/factory_girl/strategy/create.rb:9:in `result' 
# /Users/marceloboeira/.rvm/gems/ruby-2.0.0-p353/gems/factory_girl-4.5.0/lib/factory_girl/factory.rb:42:in `run' 
# /Users/marceloboeira/.rvm/gems/ruby-2.0.0-p353/gems/factory_girl-4.5.0/lib/factory_girl/factory_runner.rb:23:in `block in run' 
# /Users/marceloboeira/.rvm/gems/[email protected]/gems/activesupport-4.1.8/lib/active_support/notifications.rb:161:in `instrument' 
# /Users/marceloboeira/.rvm/gems/ruby-2.0.0-p353/gems/factory_girl-4.5.0/lib/factory_girl/factory_runner.rb:22:in `run' 
# /Users/marceloboeira/.rvm/gems/ruby-2.0.0-p353/gems/factory_girl-4.5.0/lib/factory_girl/strategy_syntax_method_registrar.rb:20:in `block in define_singular_strategy_method' 
# ./spec/models/user_spec.rb:8:in `block (2 levels) in <top (required)>' 

답변

1

당신은 레일 기본 ​​이외의 다른 로케일을 변경하고 해당 로케일로 번역이없는 오류를 얻고있다 : 그것은 실패하면거의 항상 이런 스택을 생산하고 있습니다.

로케일을 일시적으로 기본 설정으로 변경하면 실제 오류 메시지가 나타날 가능성이 큽니다 (activerecord은 사용자에게 어떤 것을 말하려고 시도하지만 말하기를 모르는 것 같습니다. 그것 pt-BR에서). 이 오류는 영어로 알려줄 것입니다.하지만 문제가되지 않도록 영어를 알고있는 것 같습니다.

오류를 수정 한 다음 원하는 로케일로 다시 전환하면 오류가 더 이상 나타나지 않습니다.

로캘을 변경하지 않으려면 특정 오류에 대해 선택한 로캘에 적합한 번역을 추가해야합니다. 이 과정에서 도움을 줄 수있는 곳이 있습니다. 여기에 관련 정보 일부 링크는 다음과 같습니다

업데이트 : 어둠 속에서 총을하지만 특정 오류가 특별히해야 할 수 있습니다 FactoryGirl 초기화 중 문제가 발생했습니다. . . 이 대답은 일 수 있으며은 문제가있는 것 같습니다 : https://stackoverflow.com/a/11644746/1026898.

+0

감사합니다. @Ecnalyr 덕분에 응용 프로그램이 브라질 시장에 집중 될 것이므로 pt-BR을 강제 적용했지만 나중에이 작업을 할 수 있습니다. 그래서 나는 그것을 되돌릴 것이다. –

+0

방금 ​​테스트 한 결과 오류 메시지가 표시되었지만 임의로 실패한 테스트에 여전히 문제가 있습니다. 어쨌든 당신은 이미 저를 도왔습니다. 고마워요! –

0

문제는 Faker로 이메일 및 사용자 이름 값을 제어하지 않습니다. 어쨌든 Ecnalyr는 문제를 찾는 데 많은 도움을주었습니다 :)