正しいですが、タイトルには説明が必要です:)
私はこのクラスを持っています:
class Character
include DataMapper::Resource
def self.tick_all
all.collect &:tick
end
def tick
# do stuff
end
end
が呼び出されたときにわかるようにCharacter.tick_all
、そのすべてのインスタンスがtick
呼び出しを受け取る必要があります。期待どおりに動作します。コンソールを起動すると、tick
作業が完了します。しかし、私は自分のテストに合格することができません:
describe ".tick_all" do
let(:instance) { FactoryGirl.create(:character) }
it "invokes #tick for every instance" do
Character.tick_all
instance.should_receive(:tick)
end
end
失敗した例:
Failure/Error: instance.should_receive(:tick)
(#<Character:0x00000002fa4e28>).tick(any args)
expected: 1 time
received: 0 times