[rspec-users] Testing Models without fixtures

Scott Taylor mailing_lists at railsnewbie.com
Tue Nov 20 11:22:03 EST 2007


On Nov 20, 2007, at 11:20 AM, David Chelimsky wrote:

> On Nov 20, 2007 10:20 AM, David Chelimsky <dchelimsky at gmail.com>  
> wrote:
>> On Nov 20, 2007 10:18 AM, Nathan Sutton <nathan.sutton at gmail.com>  
>> wrote:
>>> You may want to create a factory method to create users with valid
>>> parameters, overriding any parameters by passing in options.
>>>
>>> ALPHA = ('a'..'z').to_a + ('A'..'Z').to_a
>>>
>>> def random_text
>>>         txt = ""
>>>         10.times do
>>>                 txt << ALPHA[rand(52)]
>>>         end
>>>         txt # maybe a returning block?  can't remember if that  
>>> works here
>>> end
>>>
>>> def create_user(options={})
>>>         User.create!({ :name =>  random_text,
>>>                                   :password => random_text}.merge 
>>> (options))
>>> end
>>
>> There are also tools that will do this for you: Exemplar,
>> ModelStubbing to name two.
>
> Actually - those are geared towards avoiding the DB. What you'd want
> is Scenarios and FixtureScenarios (and others similar).
>

How about giving FixtureReplacement some love?

Scott





More information about the rspec-users mailing list