[rspec-users] How is everyone structuring stories?

Jonathan Linowes jonathan at parkerhill.com
Tue Oct 23 18:30:15 EDT 2007


"app" is short for "application",
"lib" is short for "library"
so why not shorten "behavior" to something like "beh" or "behav"
(also avoids the 2 english spellings)

/beh/specs
/beh/stories


On Oct 23, 2007, at 6:02 PM, Ashley Moran wrote:

>
> On Oct 23, 2007, at 9:55 pm, David Chelimsky wrote:
>
>> PROJECT_ROOT/behaviour/specs
>> PROJECT_ROOT/behaviour/stories
>
> I like this
>
>
>> but then a rails view spec ends up being:
>>
>> PROJECT_ROOT/behaviour/specs/views/controllername/
>> index.html.erb_spec.rb
>>
>> pretty long, ay?
>
> I don't mind long paths, I think knowing where everything is is more
> important than absolute terseness.  Besides, what else is tabbing and
> Cmd-T'ing for?
>
> And besides Rails will soon be a dim and distant memory for me :)  I
> am as we speak writing an ORM package so I can *finally* dump AR.
> Perhaps it will be the first open source project driven by RSpec's
> Story Runner?  Unless someone else here has anything in the works?
>
>
>> Nice thing about /behaviour is that it sits right next to /app.
>
> I agree, or lib in my case.  In fact it sits *above* lib, which is
> surely where it should be :)
>
>
>
> Also...
>
> Is there an easy way to get autotest support for behaviour/spec?  I
> just got it working but had to copy:
>    svn://rubyforge.org/var/svn/rspec/trunk/rspec/lib/autotest/
> to ./autotest
>
> and modify ./autotest/rspec.rb so the initialize looks like this:
>
>    class Autotest::Rspec < Autotest
>
>      def initialize(kernel=Kernel, separator=File::SEPARATOR,
> alt_separator=File::ALT_SEPARATOR) # :nodoc:
>        super()
>        @kernel, @separator, @alt_separator = kernel, separator,
> alt_separator
>        @spec_command = spec_command
>
>        # watch out: Ruby bug (1.8.6):
>        # %r(/) != /\//
>        # since Ruby compares the REGEXP source, not the resulting
> pattern
>        @test_mappings = {
>          # note changes to paths: ^spec/ => ^behaviour/spec/
>          %r%^behaviour/spec/.*\.rb$% => kernel.proc { |filename, _|
>            filename
>          },
>          %r%^lib/(.*)\.rb$% => kernel.proc { |_, m|
>            ["spec/#{m[1]}_spec.rb"]
>          },
>          %r%^behaviour/spec/(spec_helper|shared/.*)\.rb$% =>
> kernel.proc {
>            files_matching %r%^behaviour/spec/.*_spec\.rb$%
>          }
>        }
>      end
>
>      # ...
>
>    end
>
> (comment was more for my benefit later)
>
> Perhaps there is an easier way that doesn't involve such code
> duplication.
>
> Ashley
>
>
>
> -- 
> blog @ http://aviewfromafar.net/
> linked-in @ http://www.linkedin.com/in/ashleymoran
> currently @ home
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users



More information about the rspec-users mailing list