2017-02-14 65 views
0

我正在使用黄瓜/红宝石,我想用一些方法创建一个新模块,以在我的步骤定义中使用它们。黄瓜:无法查看世界中包含的模块的方法?

我在读这里怎么做,https://github.com/cucumber/cucumber/wiki/A-Whole-New-World。但是,当我尝试下面我得到一个错误:

  • 下创建/root_location/lib/new_module.rb
  • 新模块创建模块为:

module Newmodule 
    def here 
    puts "here" 
    end 
end 
World(Newmodule) 

然而,当我再尝试使用从我的步骤定义中的“这里”的方法,我只是得到:

undefined local variable or method `here' for # (NameError)

任何想法,我做错了什么?

+0

为什么黄瓜JVM的标签?你的问题是专注于Java而不是Java。 – MikeJRamsey56

+0

因为正如你从下面的答案中可以看到的那样,它不是一个红宝石问题,它与黄瓜框架有关......所以我想这总是关于语言的情况。 – mickael

+0

这个答案不适用于cucumber-jvm。您需要定义胶水目录。看例如http://stackoverflow.com/questions/17491989/cucumber-options-annotation – MikeJRamsey56

回答

0

该模块需要位于features,否则它将不会被添加到世界。除非你明确地告诉它,否则黄瓜不会看到任何东西的特征之外。

将这个代码,无论是在features/supportfeatures/step_definitions

+0

谢谢diabolist,我不知道。 知道了,我在支持下创建了一个file.rb,在那里我需要我的库中有的ruby文件,并从这里导出到世界。 非常感谢! – mickael

+0

欢迎来到mickael。 – diabolist