2012-07-30 5 views
1

레일 프로젝트를 3.2.6에서 3.2.7로 업데이트 할 때 https://github.com/phoet/on_ruby RSpec 테스트 스위트가 실패합니다.Rails 3.2.7에서 RSpec 테스트가 실패했습니다.

rake spec 
    1) Authorization should create an auth and a user from an auth-hash 
    Failure/Error: Authorization.create_from_hash(auth) 
    ActiveRecord::RecordNotUnique: 
     SQLite3::ConstraintException: column nickname is not unique: INSERT INTO "users" ("admin", "available", "created_at", "description", "freelancer", "github", "hide_jobs", "image", "location", "name", "nickname", "slug", "updated_at", "url") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 
    # ./app/models/user.rb:74:in `create_from_hash!' 
    # ./app/models/authorization.rb:15:in `create_from_hash' 
    # ./spec/models/authorization_spec.rb:23:in `block (3 levels) in <top (required)>' 
    # ./spec/models/authorization_spec.rb:22:in `block (2 levels) in <top (required)>' 

Google Geocoding API error: over query limit.     | ETA: 00:00:03 
    2) Location finder should find users within the default scope 
    Failure/Error: Location.unscoped.all.size.should be(2) 

     expected #<Fixnum:5> => 2 
      got #<Fixnum:21> => 10 

     Compared using equal?, which compares object identity, 
     but expected and actual are not the same object. Use 
     'actual.should eq(expected)' if you don't care about 
     object identity in this example. 
    # ./spec/models/location_spec.rb:16:in `block (3 levels) in <top (required)>' 

직접 RSpec에를 실행할 때이 문제가 발생하지 않으며, 트래비스 발생 않습니다 http://travis-ci.org/#!/phoet/on_ruby/builds/1989858 트랜잭션 제대로 롤백하지 않는 것처럼 보인다

. 다른 사람이 비슷한 행동을 경험 했습니까?

어떤 아이디어?

답변

2

나는 똑같이 생겼다. 내가 말할 수있는 것부터 레일은 ENV [ 'RAILS_ENV'] = 개발로 설정되어 있으므로 개발 데이터베이스에 대한 테스트가 실행 중입니다. 시도해보십시오. rake spec RAILS_ENV=test

이 문제는 다음과 같습니다. https://github.com/rails/rails/issues/7175

관련 문제