1
루비에 트리 데이터 구조를 쓰고 싶습니다. 클래스 파일 :rspec의 ArgumentError
class Tree
attr_accessor :node, :left, :right
def initialize(node, left=nil, right=nil)
self.node=node
self.left=left
self.right=right
end
end
RSpec에 파일을
require 'init.rb'
describe Tree do
it "should be created" do
t2=Tree.new(2)
t1=Tree.new(1)
t=Tree.new(3,t1,t2)
t.should_not be nil
t.left.node should eql 1
t.right.node should eql 2
end
end
RSpec에 불평 유지 :
1) Tree should be created
Failure/Error: t.left.node should eql 1
ArgumentError:
wrong number of arguments (0 for 1)
# ./app/tree.rb:3:in `initialize'
# ./spec/tree_spec.rb:9:in `block (2 levels) in <top (required)>'
왜? spec 코드를 클래스 파일로 옮기면 작동합니다. 뭐가 잘못 되었 니?
감사합니다. 바보 야. 이 메시지는 정말로 비밀스럽고 약간 잘못된 것입니다. 필자는 스펙 자체를 다시 확인하는 대신 초기 설정자에 무엇이 잘못되었는지 알아 내려고했습니다. – lkahtz