學習如何Rspec 3.我有一個關於匹配器的問題。我下面教程爲什麼代碼導致錯誤,而一個我註釋掉折舊警告通過基於Rspec的2Rspec 3 vs Rspec 2匹配器
describe Team do
it "has a name" do
#Team.new("Random name").should respond_to :name
expect { Team.new("Random name") }.to be(:name)
end
it "has a list of players" do
#Team.new("Random name").players.should be_kind_of Array
expect { Team.new("Random name").players }.to be_kind_of(Array)
end
end
。
錯誤
Failures:
1) Team has a name
Failure/Error: expect { Team.new("Random name") }.to be(:name)
You must pass an argument rather than a block to use the provided matcher (equal :name), or the matcher must implement `supports_block_expectations?`.
# ./spec/team_spec.rb:7:in `block (2 levels) in <top (required)>'
2) Team has a list of players
Failure/Error: expect { Team.new("Random name").players }.to be_kind_of(Array)
You must pass an argument rather than a block to use the provided matcher (be a kind of Array), or the matcher must implement `supports_block_expectations?`.
# ./spec/team_spec.rb:13:in `block (2 levels) in <top (required)>'
檢查這個【答案】(http://stackoverflow.com/questions/19960831/rspec-expect-vs-expect-with-block-whats-the-difference )for _why?_ – 2014-09-30 10:05:16