Nice. Thanks. I had wondered if there was a way to separate the data initialization from the step definitions. Looks like that's what this does.

Zach Dennis wrote:
You may want to look into using seed data. I currently use seed_fu by mbleigh:
    http://github.com/mbleigh/seed-fu/tree/master

Here's the snippet I use to load them:

  
ActiveRecord::Base.establish_connection(ActiveRecord::Base.configurations['test'])
  ActiveRecord::Schema.verbose = false
  load "#{RAILS_ROOT}/db/schema.rb"
  Dir[File.join(RAILS_ROOT, "features/fixtures", '*.rb')].sort.each {
|fixture| load fixture }

I do this rather than a rake task because that takes forever (thx
Brandon Keepers for correcting my usage, you have saved me tons of
minutes)

Zach


On Tue, Oct 7, 2008 at 11:23 AM, Mark Thomson <[EMAIL PROTECTED]> wrote:
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




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

Reply via email to