3
업데이트 : 내 문제는 ActiveRecord와 관련하여 this one과 관련이 있습니다. 여전히 해결되지 않았습니다.Rspec 테스트에서 ActiveRecord로 인해 SQLException이 발생했습니다.
는 ... 여기에 내가지고있어 무엇내가 RSpec에 전달하는 테스트를 얻기 위해 노력하고있어 문제의 원인이 무엇인지 파악 할 수있어 :
이Running: spec/models/user_spec.rb
.
.
.
........F
Failures:
1) User when email address is already taken
Failure/Error: user_with_same_email.save
ActiveRecord::StatementInvalid:
SQLite3::SQLException: near "SAVEPOINT":
syntax error: SAVEPOINT active_record_1
# ./spec/models/user_spec.rb:64:in `block (3 levels) in <top (required)>'
Finished in 0.22908 seconds
9 examples, 1 failure
여기에 내 테스트의 관련 라인이다 :
user_with_same_email.save
db에 쓸 때 깨집니다. 개발은 괜찮습니다. 문제 없습니다. 감사합니다.
@ user.dup이 (가) 당신을 알아챌 위험이 있습니다. 중복 된 이메일 주소로 새 사용자를 인스턴스화하고 저장 했습니까? –
@user가 어느 시점에서 이미 저장되었을 수 있습니까? 그렇다면'id' 속성이 있다고 생각합니다. 다른 id를 가진 다른 레코드 ('user_with_same_email')를 저장할 때 고유성 제약을 위반하고 있다고 가정합니다. –
'Failure/Error : user_with_same_email.save' 부분에서 DB에 저장하는 것이 문제라고 생각합니다 ... 내가 잘못 생각할 수도 있습니다. 수동으로 레코드를 복제하지 않았습니다. –