Functional tests

Hi,

Im stating to play with rails testing and have hit a slight snag that
i’m hoping someone can hit me with a clue bat for.

I have my models and associations set up correctly and all is working
as it should.

I only have the auto generated tests at the moment and the
test_should_get_index test is failing.

The controller is just a default controller but i get the following
error on the test as i modified the index view.

test_should_get_index(CommitsControllerTest):
ActionView::TemplateError: You have a nil object when you didn’t
expect it!
The error occurred while evaluating nil.real_name
On line #13 of commits/index.html.erb

10:
11: <% for commit in @commits %>
12:   <tr>
13:     <td><%=h commit.person.real_name.name%></td>
14:     <td><%=h commit.project.name %></td>
15:     <td><%=h commit.log %></td>
16:     <td><%=h commit.date %></td>

The commit controller as i say has not been modified since being
generated

And the index method is

def index
@commits = Commit.find(:all)

respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @commits }
end

end

This works fine in normal usage so i guess i need to modify the test
somehow.

The test looks like

require File.dirname(FILE) + ‘/…/test_helper’

class CommitsControllerTest < ActionController::TestCase
fixtures :commits, :people, :projects

def test_should_get_index
get :index
assert_response :success
assert_not_nil assigns(:commits)
end

Clearly i am missing something, i thought just loading the necessary
fixtures would make it work.

So what is the correct way to fix this?

Thanks

Mark K.

On 1 Jan 2008, at 10:59, Mark K. wrote:

Hi,

Im stating to play with rails testing and have hit a slight snag that
i’m hoping someone can hit me with a clue bat for.

My own stupid fault. I had not put the id’s in my fixtures, no wonder
it couldn’t find anything.

mark

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs