On Sep 23, 2008, at 11:49 AM, Pat Maddox wrote:
Matt Wynne <[EMAIL PROTECTED]> writes:
So we've got a pretty decent number of specs now, and despite my
best efforts,
AR is just forcing us down the path of having to use database
interaction for
some of the model specs.
It's starting to get tiring to run all the specs now, which is
making me sad,
and making me worry about how things are going to be in a few
months from now.
I'd like to somehow be able to systematically mark the slow example
groups as
being 'impure' and thus be able to choose to mostly ignore them
during my
regular TDD cycle, just running them every so often as a regression.
I'm thinking something like this:
describe "when there are ten users in the database", :slow => true do
What do you think? How are other people solving this problem? Any
tips /
thoughts on how I could implement this?
Why don't you put the specs in a different directory? One layout that
I've seen used (I think by the WePlay guys) is:
spec/
integration/
controllers/
models/
unit/
controllers/
models/
Yeah - Bryan and I paired @ Eastmedia before he left for WePlay to
develop the following monkey patch to support that:
module Spec
module Example
class ExampleGroupFactory
# Used to support spec/unit and spec/integration
def self.determine_superclass(opts)
spec_path = opts[:spec_path].to_s.gsub("/spec/unit", "/spec")
id = if opts[:type]
opts[:type]
elsif spec_path =~ /spec\/integration\/routing_spec/
:controller
elsif spec_path =~ /spec\/integration/
:model
elsif spec_path =~ /spec(\\|\/)([EMAIL PROTECTED]
('|')})/
$2 == '' ? nil : $2.to_sym
end
get(id)
end
end
end
end
Hopefully someone will find this useful.
Scott
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users