2015-03-25 110 views
0

我想我的黃瓜匹配器移動到一個模塊我可以在模塊定義函數中使用Rspec Expect嗎?

Then (/^posted "(.*?)" http response should be returned$/) do |arg1| 
    expect($post_result.lines.last.to_i).to eq(arg1.to_i) 
end 

模塊功能的函數如下

module AccessFunc 
    # : 
    # : Some require... global variable setting etc 
    # : 
    def self.posted_http_response_check(arg1) 
    expect($post_result.lines.last.to_i).to eq(arg1.to_i) 
    end 
end 

運行我的黃瓜測試與黃瓜匹配可以用期待。但是我不能在模塊中使用Expect。我試過使用

include ::RSpec::Matchers 

按照Use RSpec's "expect" etc. outside a describe ... it block但沒有成功。

我得到的錯誤是

undefined method `expect' for AccessFunc:Module (NoMethodError) 

有人能提供一些線索我怎麼會這樣(例如,使用一個模塊內期望解決辦法

P/S:我可以解決通過去除問題模塊,並定義功能posted_http_response_check全球。

+0

這是一個測試嗎?如果不是,你爲什麼需要一個模塊的期望。 – AshwinKumarS 2015-03-25 07:03:11

+0

是的,這是測試的一部分。我將這個期望轉化爲一個模塊,這是因爲我打算使用它是各種不同的測試場景,因此不希望在Cucumber Matcher上重複使用它。 – Elye 2015-03-25 10:05:38

回答

0

您可能必須混入的AccessFunc模塊,爲方案的步驟認識到這一點。
嘗試將World AccessFunc添加到env.rb並查看它是如何發生的。不能肯定地說,如果這會奏效,絕對值得一試。

+0

謝謝。不幸的是它不起作用:(。 – Elye 2015-03-25 10:22:12

相關問題