有没有办法在rails中使用Rspec测试自定义复数规则

时间:2017-07-26 16:41:28

标签: ruby-on-rails ruby rspec internationalization

我为韩语语言环境添加了自定义复数规则,并想知道是否有办法使用Rspec来测试它。要添加自定义规则,我在/config/initializers/pluralization.rb添加了以下代码:

require "i18n/backend/pluralization"
I18n::Backend::Simple.send(:include, I18n::Backend::Pluralization)

并在config / locales / plurals.rb中添加了自定义规则,截至目前为止

{
  :ko => { :i18n => { :plural => { :keys => [:other], :rule => lambda { |n| :other } } } }
}

当我尝试使用rails控制台测试它时,我看到自定义规则生效,但是当我在运行Rspec测试时在我的spec文件夹中尝试相同的翻译时,我收到以下错误:

I18n::InvalidPluralizationData: translation data {:other=>"%{count} xxxxxxxx"} can not be used with :count => 1

我的spec文件如下所示: 路径:/spec/locales/default_pluralization_key_ko_spec.rb

Rspec.describe "Korean Locale Pluralization Test" do

  describe "checking korean" do
    it  "korean pluralization with keys only :other" do
      I18n.locale = :ko
      I18n.t('views.project.drawing_log.upload_sub_text', count:1)

    end
  end
end

0 个答案:

没有答案