2017-02-14 42 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