[rspec-users] mock_model in spec/lib

Jay Levitt lists-rspec at shopwatch.org
Thu Aug 30 15:12:16 EDT 2007


David Chelimsky wrote:
> On 8/30/07, Jay Levitt <lists-rspec at shopwatch.org> wrote:
>> Edward Ocampo-Gooding wrote:
>>> David Chelimsky wrote:
>>>> On 8/30/07, Edward Ocampo-Gooding <edward.og at gmail.com> wrote:
>>>>> Has anyone else run into a problem with trying to use mock_model in spec/lib ?
>>>>> For some reason, I can take the same spec, put it in spec/models, have it run
>>>>> fine, but put it in spec/lib, and have it complain about not being able to find
>>>>> #mock_model
>>>> mock_model is not supported outside of model, view, controller and
>>>> helper specs. Feel free to submit a feature request if you think it
>>>> should be.
>>> I can kind of understand why it's not, but it'd be good to have an error message
>>> that pops informing the user saying as such.
>> Also note that in trunk, you can work around this with
>>
>> describe my_lib_function, :behaviour_type => :controller (or model, or
>> helper, or view)
>>
>> which is very useful for lib functions that are used in one of those
>> contexts.
> 
> Correct - that is the correct usage.
> 
> the lib directory is for stuff not related specifically to rails, in my view

I don't know how common that view is, though - in general, I think Rails 
folks use lib/ for classes that aren't part of a model (be it an 
ActiveRecord model or a "fake" model like a shopping cart).  They're 
often non-Rails-specific, but f'rinstance I have an enum object that 
interacts with ActiveRecord, but isn't itself a model.  Eventually might 
be a plugin, but for now it's only used in one app, so it lives in lib/.

I created an enhancement request, but I can make a patch if you can 
remind me where on earth the directories are special-cased - I couldn't 
find it for the life of me.

Jay



More information about the rspec-users mailing list