Hey thanks Zach. That was a good suggestion. What the log file showed me was that I had a nil object being accessed in my "new" action - and the reason is that it's an object that in my development code is read from a table of global variables in my db. I create that table, including the values of the global variable, in a migration. However, this doesn't exist in my test db. So I did a <Model>.create in my "given" step to instantiate the global variable and I'm now all good.

Mark.



Zach Dennis wrote:
On Tue, Oct 7, 2008 at 8:36 AM, Mark Thomson <[EMAIL PROTECTED]> wrote:
Hmm, thanks. Still not sure if I'm diagnosing my problem correctly. Just to
be clear, I don't have any user authentication going on, just a regular
Rails button_to call. I tried installing webrat and put "visits '/' " in my
"given" step and "clicks_button" in my "when" step. However I get an error
from my_story.rb - "No such file or directory - open
tmp/webrat-12233801950.html.

Presumably my issue would also apply in posting a form in a regular Rails
integration test. The example on pp207-208 of AWDR  doesn't suggest that
anything needs to be done in a post call to achieve session authentication.
And I see here -
http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html#M000693
that forgery protection is actually turned off in testing - which I've
confirmed in my config/environments/test.rb. So maybe I have some other
problem causing my response test to fail. Any other suggestions would be
appreciated.


Have you looked at your log/test.log file to see if there are any
exceptions being thrown? Or at least to see what is being rendered,
perhaps you're hitting a path you don't intend.

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

Reply via email to