Actually, nevermind. Figured it out. It seems that ActiveRecord is lazy in creating readers for model attributes, waiting until the attribute is accessed, so the mocking framework had no way to alias :date because it didn't exist as a method yet. Adding '@bill.date' to the before block seems to have resolved the issue.