방금 여러 테스트가 다음과 같은 오류로 실패했습니다:
ActiveRecord::RecordInvalid:
Validation failed: Name has already been taken
그리고 문제의 원인이 아래인 것 같습니다:
fab!(:the_group) { Fabricate(:group) }
이전까지는 이 코드들이 모두 정상적으로 작동했습니다. 제가 작업 중이던 다른 플러그인에서 비슷한 내용을 보고, 제 생각에는 무작위 이름을 직접 설정하는 방식으로 수정한 것 같습니다. 하지만 어제까지만 해도 이 코드들은 정상적으로 작동했던 것으로 기억합니다.
무언가 변경되었거나, 제가 실수로 어리석은 짓을 한 건가요?
수정(EDIT): Claude와 Discourse Helper Bot의 도움으로 위 fab을 아래 코드로 대체해 보았습니다.
Fabricator(:the_group) do
name { sequence(:group_name) { |i| "Test Group #{i}" } }
end
하지만 어떻게 적용해야 하는지 정확히 파악하지 못했습니다.
그 후 위 !fab 대신 다음을 사용했습니다.
let(:the_group) { Fabricate(:group) }
이로 인해 실패 건수가 12건에서 1건으로 줄었지만, 여전히 다음과 같은 오류로 실패하고 있습니다.
1) Pfaffmanager::ServersController servers admin can get servers owned by a group
Failure/Error: let(:the_group) { Fabricate(:group) }
ActiveRecord::RecordInvalid:
Validation failed: Name has already been taken
어제 CDT 오전 10시 30분에 마지막 커밋을 했을 때부터 이 테스트 주변에 변경된 내용은 없다고 생각합니다.
이전 커밋으로 되돌렸더니 이번에는 다음과 같은 오류로 실패합니다.
1) Pfaffmanager::ServersController servers includes groups that the user is in
Failure/Error: let(:the_group) { Fabricate(:group) }
ActiveRecord::RecordInvalid:
Validation failed: Name has already been taken
그리고 아무런 변경 없이 다시 실행해 보니 이번에는 다음 테스트에서 실패합니다.
1) Pfaffmanager::ServersController servers can update group id if group owner
Failure/Error: let(:the_group) { Fabricate(:group) }
ActiveRecord::RecordInvalid:
Validation failed: Name has already been taken
즉, 하나의 테스트에서 실패하고 있으며, 그 테스트는 랜덤으로 바뀌는 것 같습니다.