Bill Venners wrote:
Hi Aslak and Scott,

Thanks for your replies. I have a couple quick follow up questions.

On Thu, Mar 12, 2009 at 3:05 PM, aslak hellesoy
<aslak.helle...@gmail.com> wrote:
On Thu, Mar 12, 2009 at 10:50 PM, Bill Venners <b...@artima.com> wrote:
Hi All,

I've been working on BDD support in a test framework for Scala
imaginatively called ScalaTest, and I want to add support for the
Very cool!

notion of pending examples. I see three different "forms" of pending
in RSpec, and I'm curious to hear which ones RSpec users find most
useful. The three forms are:

# 1. With no block you get a PENDING (Not Yet Implemented) in the report
it "should say foo"
I rarely use this, as I don't write a lot of specs up front.

OK. One use case I see for pending is writing the spec text before the
example code. No one yet has said they actually do this in practice.
Anyone care to admit this feature is important to them?

Sure, I'll use it occasionally: I'll add three or four cases and then go to work.

It probably wouldn't be a big deal if rspec didn't have it, though, as I never leave them before completing them.

# 2. Passing a string, but no block, to pending. You get the PENDING
(get the vocal chords working) in the report.
it "should say foo" do
 pending("get the vocal chords working")
 subject.should say("foo")
end
I find myself using #2 the most. I use it when I want to reduce noise diring
a refactoring that breaks a lot.

You know there's already an "ignore" feature in ScalaTest's Spec,
which I think is probably like xit in RSpec. You just select "it" and
change it to "ignore". That means temporarily ignore this test, which
most likely broke because I'm doing refactoring. What's missing is
that there's no way with ignore to specify a string like you can with
pending #2. What do you usually put in that string?
it "should do such and such" do
pending 'This is a bug which I can't currently figure out. Revisit once feature X is done'
 ...
end

# 3. Pass a string and a block to pending. If the pending code raises
an exception, then you get PENDING (get the vocal chords working)k
# but if not, I believe the whole tests fails to let you know you need
to drop the pending stuff now that it works (I may be wrong).
it "should say foo" do
 pending("get the vocal chords working") do
   subject.should say("foo")
 end
end
I sometimes use this when I'm not sure why the example is failing, but don't
want to look into it right now.

I guess I'm curious:

1) How important is it to you to be able to just "strike out" the
lines of code within an example that are failing (as you can with
RSpec's #3 pending form), versus just "striking out" the entire
example as you can with ignore in ScalaTest.
Striking out the entire example is what's important - not a subset of the spec.

2) How important is it to you to be able to add a string message to
your stricken code, as you can with either #2 or #3 in RSpec? How does
that string help you?

It makes it clear why I made it pending in the first place, and went ahead and committed it anyway without finishing it.

That's my workflow - others may be different, especially with the advent of rbehave / story runner / cucumber.

Scott



Thanks.

Bill
----
Bill Venners
Artima, Inc.
http://www.artima.com/
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to