[rspec-users] assigns variable maintaining state across request?

David Chelimsky dchelimsky at gmail.com
Wed Dec 10 08:05:18 EST 2008


On Wed, Dec 10, 2008 at 4:08 AM, Ivor Paul <ivorpaul at gmail.com> wrote:
> Hi
>
> I found that if I set assigns[:variables] in a spec, the value is maintained
> in subsequent specs.
>
> Example
>
> rails helper method:
>
>   def return_at_variable
>     @variable
>   end
>
> Specs:
>
> #this passes obviously
>   it 'should return true if assigns[:variable] is true' do
>     assigns[:variable] = true
>     helper.return_at_variable.should be_true
>   end
>
> #this does not pass
>   it 'should return nil becasue assigns[:variable] is not set' do
>     helper.return_at_variable.should be_nil
>   end
>
> '' FAILED
> expected nil? to return true, got false
>
> In this case both tests pass:
>
>   it 'should return true if assigns[:variable] is true' do
>     assigns[:variable] = true
>     helper.return_at_variable.should be_true
>   end
>
>   it 'should return nil becasue assigns[:variable] is not set' do
>     helper.return_at_variable.should be_true
>   end
>
> Getting around this is simple enough - by just clearing/declaring the
> assigs[:variables] where ever I need to, but I am wondering if this is
> normal behaviour?

Nope. Please file a ticket at http://rspec.lighthouseapp.com.

Thanks,
David

>
> Regards
> Ivor
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>


More information about the rspec-users mailing list