2011-08-23 45 views
3

我有一個藍圖:機械師+ RSpec的和保留字

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

「上下文」是模型的屬性,但它也是RSpec中的保留字。當我嘗試使對象在「上下文」行上出現ArgumentError時。

任何想法如何克服這種情況?

回答

0

無法用Machinist 2.0.0.beta2複製這個。

機械師的工作原理是重寫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 

我不能告訴,如果這樣做的工作,因爲我不能在本地複製它,但我想給它一個射擊。