3

私は青写真を持っています:

Model.blueprint(:something) do
  name "Some name"
  context "some context"
end

「context」はModelの属性ですが、RSpecの予約語でもあります。オブジェクトを作成しようとすると、「コンテキスト」行で ArgumentError が発生します。

この状況を克服する方法はありますか?

4

1 に答える 1

0

Machinist 2.0.0.beta2 ではこれを複製できません。

Machinist はmethod_missing?、これらの引数に基づいて属性をオーバーライドしてから割り当てることによって機能します。rspec がcontext機械工旋盤のオブジェクトにメソッドを割り当てている場合、そのメソッドは の前に呼び出されmethod_missing?ます。この問題がまだ発生している場合は、remove_method :context属性を評価する前に使用してみてください。

Model.blueprint(:something) do
  remove_method :context
  name "Some name"
  context "some context"
  alias_method :context, :describe
end

ローカルで複製できないため、うまくいくかどうかはわかりませんが、試してみます。

于 2012-02-10T21:58:11.137 に答える