Забавно, я только что столкнулся с точно такой же проблемой, хотя я на Rails 3.2.1, Machinist 2.0 и ruby 1.9.2-p290.Я думаю, что есть конфликт между выполнением метода-заглушки Post.stub(:new)
и метода Machinist make
, но я не копался в коде.
Лучшее решение, которое я придумал, это:
before do
new_post
Post.stub!(:new).and_return(new_post)
end
Это инициализирует let (так как let загружается лениво в rspec), прежде чем он перейдет к методу-заглушке.Это глупо, но, по крайней мере, вы (и я) можете держать оператор let.