Wins Lin wrote in post #1111366:
> My question is, are flash values kept in integration test? Does it have
> to be "true" here or the above behavior is correct?
The Rails guide has a clear explanation of the flash:
http://guides.rubyonrails.org/action_controller_overview.html#the-flash
Yes, the flash message is available IN the following request, but not
after it. My bet is that your assertion is happening after that next
action has completed.
Take a look at the example in Section 5.2 in this guide:
http://guides.rubyonrails.org/testing.html#integration-testing
post_via_redirect "/login", :username => users(:avs).username,
:password => users(:avs).password
assert_equal '/welcome', path
assert_equal 'Welcome avs!', flash[:notice]
Notice there is no follow_redirect! before checking the flash. Your
flash is getting destroyed before you can assert it.