[rspec-users] Philosophical questions

Evan David Light evan at tiggerpalace.com
Wed Sep 12 19:11:59 EDT 2007

Awesome!  That's a whole lot more of a response than I had  
anticipated.  Thanks!

On Sep 12, 2007, at 6:15 PM, David Chelimsky wrote:

> On 9/12/07, Evan David Light <evan at tiggerpalace.com> wrote:
> I like to start w/ integration tests before anything exists at all.
> You can do that w/ Rails' Integration Tests or Story Runner (if you're
> using RSpec's trunk).

Story Runner is a new one for me.  I'll have to look it up.  Thanks!

(Halfway through writing this, I realized, courtesy of Google, that  
it's a recently integrated piece of functionality into RSpec-on- 
Rails.  I found this example of yours captured here. )

I see why this could be a good way to start coding.  This is exactly  
what I naturally wanted to do with RSpec but couldn't because RSpec  
seems oriented toward a lower-level set of issues.  I'll have to  
start playing with the trunk now.  This looks nifty.

> If you don't want broken software, then spec the views - but ONLY
> the stuff that actually has business value.

Seems like sound common sense.  I caught myself earlier today writing  
a spec for a non-functional portion of my view, chided myself for it,  
ripped out the spec, and then continued.

> Once the view is sufficiently spec'd and the specs are passing, I know
> what the controller needs to supply, so I start spec'ing the
> controller. And on down to models.

Good to realize that I'm not thinking that far off the mainstream here.

> That's not to say that the philosophy isn't important. I, personally,
> love talking about philosophy. It helps me to understand why I
> gravitate towards the things I do.

Ultimately, this is what I was looking for: not so much "what to do"  
but the "tao" of it.  Starting with the user in mind, from a view  
level, made some sense but too minutiae driven.  I like to dabble  
with new approaches but always asking "why?" along the way.  While a  
lot of what I have been doing with RSpec could be accomplished with  
Test::Unit, I'm finding that I prefer the RSpec approach somewhat more.

> Same w/ approaches to testing and developing software. Agile isn't all
> that agile if we're all finding "best practices" and applying them
> like a bunch of blind followers of some religion.

Or if we spend so much time on "best practices" that we're not  
actually accomplishing anything?  Welcome to the government. ;-)

> "We have come to
> value individuals and interactions over processes and tools," yet
> we're always becoming slave to the next tool rather than becoming its
> master and sticking it in our tool belt.

<wisecrack> You mean that instead of being Java Juju Zombies that  
we're becoming Ruby Robots? </wisecrack>

> Summing up - the series of steps I described above is what I *usually*
> do because I know it works for me and the way I work. But I don't do
> that 100% of the time, and I certainly don't feel bad when I break
> that pattern. It's just a great tool to have lying around.

And, of course, what works for one may not work for all.  However,  
with regard to Rails apps, I'm still finding my way.  That said, I  
know that I would prefer a TDD/BDD approach to writing it, hand  
testing it, seeing it mostly work, fix something (and perhaps  
breaking something else!), rinsing and repeating.

Thanks for the brain dump!

IMs (all): sleight42

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/rspec-users/attachments/20070912/b75e7fb6/attachment-0001.html 

More information about the rspec-users mailing list