0

これが私のテストです:

# Custom validation method tests
  describe "#ticker_symbol" do
    before(:each) do
      o = OpenStruct.new(:body => '')
      Curl::Easy.any_instance.stub(:get).and_return(o)
    end
    it "should add an error" do
      subject
    end
  end

そして、私のモデルの関連部分:

# Custom validation methods
  def ticker_symbol
    apiresponse = Curl.get("https://www.google.com/finance/info?infotype=infoquoteall&q=" + ticker)
    debugger
    if apiresponse.body == ''
      errors.add(:ticker, "must be valid")
    end
  end

何らかの理由で、 apiresponse は本来あるべきものではありません:

apiresponse
#<Curl::Easy https://www.google.com/finance/info?infotype=infoq>

私のスタブが機能しない理由は何ですか?

4

1 に答える 1

1
# Custom validation method tests
describe "#ticker_symbol" do
  let(:stubbed_response) { OpenStruct.new(:body => '') }
  before(:each) do
    Curl.stub(:get).and_return stubbed_response
  end
  it "should add an error" do
    subject
  end
end
于 2013-11-03T19:56:57.300 に答える