[rspec-users] AfterCurrentScenario block
aslak.hellesoy at gmail.com
Fri Apr 17 13:20:24 EDT 2009
Den 17. april. 2009 kl. 18.58 skrev Zach Dennis <zach.dennis at gmail.com>:
> On Fri, Apr 17, 2009 at 12:31 PM, Aslak Hellesøy
> <aslak.hellesoy at gmail.com> wrote:
>> Den 17. april. 2009 kl. 18.06 skrev Matt Wynne <matt at mattwynne.net>:
>>> Is there currently a way to register a block to run after the
>>> scenario completes?
> After is used after *any* scenario completes thought, right? If you
> add an After block inside of a step definition, it's going to be
Aha now I understand. Matt, would Joseph's suggestion work for you?
> executed from that point on, rather than clear out at the end of the
> scenario that ran it, correct?
>>> If not, we've implemented one. Would anyone be interested in us
>>> it as a patch to Cucumber?
>> How is this different from After?
> * It clears out after the current scenario.
> * It doesn't require to be run for scenarios that don't need it.
> * It allows you to cleanly place the handler next to the code that it
> is so closely related
> * It doesn't require you know the name of the scenario(s) that would
> need it (it's simply determined by if a step definition is run)
>>> Something like
>>> Given "something that will not be rolled back after the scenario is
>>> finished" do
>>> original = SomeClass.a_value
>>> SomeClass.a_value = 7
>>> AfterCurrentScenario do
>>> # undo stuff
>>> SomeClass.a_value = original
>>> If you're interested, our use case is for pagination, where we
>>> set the length of a page to something much shorter than the
>>> default in a
>>> step, so that we only have to create a small number of objects to
>>> spill over
>>> onto another page. The page length value is set on a class
>>> variable, and
>>> would pollute other tests, so we want to reset it when the
>>> scenario is
>>> e.g. Given the maximum number of Users to display is 2
>>> And there are 3 Users
>>> When I view the Users page
>>> Then I should see the text "see all 3 users"
>>> Matt Wynne
>>> rspec-users mailing list
>>> rspec-users at rubyforge.org
>> rspec-users mailing list
>> rspec-users at rubyforge.org
> Zach Dennis
> rspec-users mailing list
> rspec-users at rubyforge.org
More information about the rspec-users