[rspec-devel] running only a select group of specs
Zach Dennis
zach.dennis at gmail.com
Wed Aug 20 21:55:56 EDT 2008
On Tue, Aug 19, 2008 at 10:15 PM, Ben Mabey <ben at benmabey.com> wrote:
> Pat Maddox wrote:
>> On Tue, Aug 19, 2008 at 8:38 PM, Ben Mabey <ben at benmabey.com> wrote:
>>
>>> I know the easy thing would be to just create separate unit and
>>> functional directories.. but that is something that I would like to
>>> avoid. Besides, that is easy and I like pain. :)
>>>
>>
>> Why do you want to avoid that? I think it's superior from an
>> organizational standpoint, and doesn't require screwing with the
>> runner.
>>
>> Pat
>> _______________________________________________
>> rspec-devel mailing list
>> rspec-devel at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/rspec-devel
>>
>
> I actually keep going back and forth on this. I like having all of my
> specs for a given object in the same file... When I'm specing out some
> behavior and I realize that I really need to use the DB I like being
> able to just declare it inline and not have to cut my spec and paste it
> into another file in another dir. Make sense? Also, I think reading
> the specs that way is less confusing...
>
I agree with Ben. Different directories works, but it definitely isn't
my preferred route if there is way to cleanly and simply keep all
examples for a particular object together. I like cohesiveness in my
specs, and spreading examples out across separate files (and
directories) for one object seems to decrease some amount of value. I
think we can do better. A suggestion OTOMH is:
describe SomeModel, :use_db => true do
end
describe SomeModel, :use_db => false do
end
And pick false as the default if :use_db isn't supplied. This kind of
configurable capabilities can apply to more than just the database as
well. I'd envision a config could look like:
Spec::Runner.configure do |config|
config.use_db do |val|
unless val
# do everything to disallow database access
end
end
config.use_userdefined_thingy do |val|
unless val
# do everything to disallow user defined thingy
end
end
end
This would keep things flexible and allow for project specific behaviour. WDYT?
--
Zach Dennis
http://www.continuousthinking.com
http://www.mutuallyhuman.com
More information about the rspec-devel
mailing list