5

ダブルを作成しようとしていますが、次のエラーが発生し続けます。

 undefined method `double' for #<Class:0x007fa48c234320> (NoMethodError)

問題はスペックヘルパーに関係していると思われるので、以下にスペックヘルパーを追加します。

$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
$LOAD_PATH.unshift(File.dirname(__FILE__))

require 'rspec'
require 'webmock/rspec'
include WebMock::API
include WebMock::Matchers

Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }

RSpec.configure do |config|
end
4

2 に答える 2

14

double例(およびブロックなど)の内部に存在しbeforeますが、それらのコンテキストの1つの外部でそれを呼び出そうとしているように聞こえます。

だから例えば

describe Thing do
  thing = double()
  it 'should go bong'
  end
end

正しくありませんが

describe Thing do
  before(:each) do
    @thing = double()
  end

  it 'should go bong' do
    other_thing = double()
  end
end

結構です

于 2012-06-25T20:29:59.243 に答える