On Sep 16, 2010, at 8:24 PM, Ed Howland wrote: > On Thu, Feb 11, 2010 at 7:15 AM, Phillip Koebbe <phillipkoe...@gmail.com> > wrote: >> David Chelimsky wrote: >>> >>> On Thu, Feb 11, 2010 at 12:13 AM, Mike Sassak<msas...@gmail.com> wrote: >>> >>>> >>>> On Wed, Feb 10, 2010 at 10:17 PM, Phillip Koebbe >>>> <phillipkoe...@gmail.com> wrote: >>>> >>>>> >>>>> When I do >>>>> >>>>> script/spec -c -f n spec/models/**/*_spec.rb >>>>> >>>>> I get >>>>> >>>>> >>>>> /Library/Ruby/Gems/1.8/gems/rspec-1.3.0/lib/spec/runner/options.rb:283:in >>>>> `files_to_load': File or directory not found: spec/models/**/*_spec.rb >>>>> (RuntimeError) >>>>> >>>>> Yet, if I go into irb and do >>>>> >>>>> Dir.glob('spec/models/**/*_spec.rb') >>>>> >>>>> I get >>>>> >>>>> ["spec/models/county_spec.rb", "spec/models/county_user_spec.rb", >>>>> "spec/models/message_county_spec.rb", "spec/models/message_spec.rb", >>>>> "spec/models/message_user_spec.rb", "spec/models/postman_spec.rb", >>>>> "spec/models/user_spec.rb"] >>>>> >>>>> Does spec not glob? I'm working on a wrapper script and I'd like to be >>>>> able >>>>> to run all specs of a given type (controller, model, view) by passing a >>>>> single switch (-c, -m, -v). It works when I have subdirectories (as I do >>>>> with controllers), but it isn't working when I don't (as with models). >>>>> The >>>>> fact that glob picks up the files properly got me wondering, so I >>>>> thought >>>>> I'd ask. >>>>> >>>>> >>>> >>>> When running script/spec from the CLI the globbing rules will depend >>>> on the shell. Try searching Google for "bash globbing" (or whatever >>>> shell you're using). But if all you need is to run all the model >>>> specs, you could use "rake spec:models". That works well for me. >>>> >>> >>> Or just "script/spec spec/models" >>> >>> >> >> Thanks for the replies. It's not as simple as I just want to spec all >> models. As I mentioned, I'm writing a wrapper script to automate some things >> that I repeatedly find myself doing or wanting to do. I am trying to do a >> very simple **/* pattern when I don't pass a pattern as an argument. I don't >> really want to have a conditional that says >> >> rake spec:models unless pattern >> >> when the rest of my code actually calls script/spec. David's suggestion >> might work though. Right now, I do >> >> file = ARGV.at(0) if ARGV.size > 0 >> file = '**/*' unless file >> <some logic to determine what type of spec to run, which defines >> filename_partial> >> spec_path = "#{spec_path}/#{file}#{filename_partial}.rb" >> >> file can be "user", "admin/message", "admin/*", "*/message", or whatever I >> need it to be. That's why I'm looking for the easiest way to run all of a >> given type. Eventually I'm going to add support for ~, like with Cucumber >> tags, except for specs. I did this in a wrapper for Cucumber features and it >> is working out well for me. >> >> I'll keep kicking it around. I'm confident a reasonable solution is not far >> off. >> >> Peace, >> Phillip > Phillip, any updates on your efforts? > > I am keenly interested in a Cucumber tags like facility for RSpec
FYI - there is an open issue on this: http://github.com/rspec/rspec-core/issues#issue/37 I'm planning to add this to 2.1, but likely not before, as I don't view it as crucial to a 2.0 release, but I do view it as something we need to take some time working on to get right. Cheers, David _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users