RSpec의 단위 테스트에서 "translation missing : ko.activerecord.○○"라는 오류가 발생했을 때의 대처법

1789 단어 RSpec루비Rails
Devise를 일본어화할 때의 오류. 에러 화면은 이런 느낌.


◆ 원인



아무래도 devise의 에러 메세지를 일본어화한 것에 의해 本来Deviseで用意されているエラー文(英語)テスト実行時のエラー文(devise.ja.yml) 에 차이가 나 버려, 에러가 되어 버리고 있는 것 같다.

◆ 솔루션


devise.ja.yml의 내용도 각각 인용원에 따라서 다르므로, 이 에러가 나왔을 때에는 devise.ja.yml에 기술을 추가할 필요가 있다.

실제로 설명을 추가해 간다.
이 경우 오류 분expected [translation missing: ja.activerecord.errors.models.user.attributes.name.blank] to include "can't be blank"그래서

config/locals/devise.ja.yml
ja:
  activerecord:
    errors:
      models:
        user:
          attributes:
            name:
              blank: "が入力されていません"

라고 추기해 준다.

이것으로 무사히 테스트가 통과하도록!

참고한 기사



· Devise 일본어화 후의 「translation missing」에 대처한다

· translationmissing:ko.activerecord.errors.models.hoge.attributes.base.restrict_dependent_destroy.many를 해결하는 방법

· Create 오류 User translation missing: ko.activerecord.errors.models.company.attributes.user.required

· devise를 일본어화

좋은 웹페이지 즐겨찾기