0

仕様がfakefsでCSV.openをテストし、ArgumentErrorを発生させるときに問題が発生します:引数の数が間違っています(2の場合は3)

スペックコードは以下の通りです:

ルビーバージョンはjruby1.7.1(1.9.3p327)です

fakefsのバージョンは0.4.2です

'fakefs/safe'が必要

 it 'should pull offers and save them into file' do
    FakeFS do 
      extractor.process(affiliate_ids)
      File::size(FILE_NAME).should > 0
    end
  end

ルビーコードは次のとおりです。

class Extractor
  def process(affiliates)
    save(ds)
  end

 # saves all the buy URLs to a text file
  def save(ds)
    @@logger.info "Writing offers to file #{FILE_NAME}"

    CSV.open(FILE_NAME, "w") do |csv|
      ds.each do |row|
        buy_url = row[:buy_url]
        csv << [row[:name], row[:offer_id], buy_url]
      end
    end

  end
end

誰もがこの問題の原因を知っていますか?前もって感謝します

デビッド・ウー

4

1 に答える 1

1

問題は JRuby で修正されました。詳細はこちらをご確認ください。https://github.com/defunkt/fakefs/issues/172

-アレックス

于 2013-01-15T23:16:57.723 に答える