[rspec-users] concept of given

0 views
Skip to first unread message

rogerdpack

unread,
Dec 22, 2009, 10:35:18 AM12/22/09
to rspec...@rubyforge.org
Forgive me if the question is a common one...

does rspec have any concept like

given "a certain set of paths" do

it "should be able to recreate them" do; end
it "..."; end
end

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

David Chelimsky

unread,
Dec 22, 2009, 10:38:12 AM12/22/09
to rspec-users
On Tue, Dec 22, 2009 at 9:35 AM, rogerdpack <rogerp...@gmail.com> wrote:
Forgive me if the question is a common one...

does rspec have any concept like

given "a certain set of paths" do

 it "should be able to recreate them" do; end
 it "..."; end
end

Not built into rspec. There is a merb extension that does that, but there is no "when" and "then" counterpart, so I didn't want to add it to rspec.

HTH,
David

Rick DeNatale

unread,
Dec 22, 2009, 11:15:53 AM12/22/09
to rspec-users
On Tue, Dec 22, 2009 at 10:38 AM, David Chelimsky <dchel...@gmail.com> wrote:
> On Tue, Dec 22, 2009 at 9:35 AM, rogerdpack <rogerp...@gmail.com> wrote:
>>
>> Forgive me if the question is a common one...
>>
>> does rspec have any concept like
>>
>> given "a certain set of paths" do
>>
>>  it "should be able to recreate them" do; end
>>  it "..."; end
>> end
>
> Not built into rspec. There is a merb extension that does that, but there is
> no "when" and "then" counterpart, so I didn't want to add it to rspec.

It looks like that merb extension was about injecting a part of a
before block by adding an option to describe, yes?
http://www.mail-archive.com/rspec...@rubyforge.org/msg07327.html

I don't see that that's what Roger is asking for though. It seems to
me that he's asking more for yet another synonym for describe or
context.

In which case I'd suggest just using describe or context as in:

context "given a certain set of paths" do
before(:each) do
# code to set up the paths however the included specs need them, e.g.
@paths = ["a/b", "c/d"]
end

it "should be able to recreate them" do; end
it "..."; end
end

I tend to use describe for the top level, and context when nested.

--
Rick DeNatale

Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale

David Chelimsky

unread,
Dec 22, 2009, 11:19:08 AM12/22/09
to rspec-users
Ah - I see what you mean. Though, I tend to use describe() for nouns and context for context.

describe "something" do
  context "in some state" do

Usuall that works out that the outer block starts w/ describe and the inner starts w/ context, but sometimes there are describe blocks nested within describe blocks as well.

rogerdpack

unread,
Dec 22, 2009, 11:31:04 AM12/22/09
to rspec...@rubyforge.org

> context "given a certain set of paths" do

Ahh so it's called context.

Cool (though I'll admit that naming it "given" can make it sound more
like an English sentence, so an alias would be a suggestion).

Much thanks.
-r

David Chelimsky

unread,
Dec 22, 2009, 11:34:59 AM12/22/09
to rspec-users
On Tue, Dec 22, 2009 at 10:31 AM, rogerdpack <rogerp...@gmail.com> wrote:

> context "given a certain set of paths" do

Ahh so it's called context.

Cool (though I'll admit that naming it "given" can make it sound more
like an English sentence, so an alias would be a suggestion).


I'm not adding that to rspec though, as we already have enough confusion just between context and describe :)

Cheers,
David
 
Much thanks.
-r

Reply all
Reply to author
Forward
0 new messages