如何在黄瓜的步骤定义中添加I18n功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在黄瓜的步骤定义中添加I18n功能?相关的知识,希望对你有一定的参考价值。

env.rb =>

  def setup_language_resources
     I18n.load_path = ['features/configuration_resources/english.yml']

     case ENV['Language']
     when 'english'
       I18n.locale = :en
     when 'spanish'
       I18n.locale = :es
     when 'italian'
       I18n.locale = :it
     else
       abort("Incorrect language set, cannot continue the test run: supported are 'english', 'italian' or 'spanish'")
     end
   end

   setup_language_resources

steps =>

expect(@browser.text.include?(I18N.t('successful-adoption'))).to be true

我如何在步骤定义中引用我的I18n.t函数,如何将它传递到“世界”以使其可用?

。 t

---
en:
  successful-adoption: "Thank you for adopting a puppy!"

错误是:uninitialized constant I18N (NameError)

答案

只需在钩子@before方法中添加一个实例var即可。

  Before do |scenario|
    @locale = I18n
    @log = setup_logger("#{scenario.name}")
    @log.debug("Starting scenario: #{scenario.name}")
  end

以上是关于如何在黄瓜的步骤定义中添加I18n功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用类型List迭代数据表 在黄瓜

量角器配置文件没有拿起黄瓜步骤定义

IntelliJ - 黄瓜步骤定义案例

在黄瓜 jvm 中,如何正确地将步骤拆分为多个文件?

每当我在我的功能文件上使用双引号时,没有self_obj(RuntimeError)黄瓜水豚

如何在步骤定义中访问Cucumber步骤名称?