tic-tac-toeボードの表示をテストするための仕様を書こうとしています。私は方法capture
を使用していますが、仕様を実行するとエラーが発生します。私はメソッド呼び出しの出力を取得するためにキャプチャを使用しています。 https://apidock.com/rails/Kernel/capture は、ここに私の方法である:未定義のメソッドRSpecのキャプチャ
def display_board
puts " #{grid[0]} | #{grid[1]} | #{grid[2]} "
puts "-----------"
puts " #{grid[3]} | #{grid[4]} | #{grid[5]} "
puts "-----------"
puts " #{grid[6]} | #{grid[7]} | #{grid[8]} "
end
はここに私のRSpecのテストです:
context "#display_board" do
output = capture(:stdout) { board.display_board}
rows = output.split("\n")
binding.pry
expect(rows[0]).to eq(" | | ")
expect(rows[1]).to eq("-----------")
expect(rows[2]).to eq(" | | ")
expect(rows[3]).to eq("-----------")
expect(rows[4]).to eq(" | | ")
end
具体的には、エラーは何ですか? – struthersneil
'' 'NoMethodError: RSpec :: ExampleGroup :: Board :: DisplayBoard:Class'''のための未定義メソッド' capture ' –
'#capture'は以前はActiveSupportから利用可能でしたが、廃止され、削除されました。だから、このアプローチはうまくいきません。 – struthersneil