Problems with rSpec

1. First question

Sorry if I am stating the obvious here, but my comments are interleaved. Also, consider joining the rspec Google Group.

1. First question
----------------------------------------

I am getting this error when running my tests:
...
b spec/views/projects/index.rhtml_spec.rb spec/views/projects/
new.rhtml_spec.rb
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:266:in `load_missing_constant':
uninitialized constant ProjectsHelper (NameError)

Is the name ProjectHelper or ProjectsHelper?

The first time I saw this I figured I would just get everything
working by commenting out the
+++
include ProjectHelper
+++

<snip>

2. Next question.
----------------------------------------

When I run the tests I get the following error for one of the auto-
created tests, and cannot figure out why it is throwing it.

describe "/projects/new.rhtml" do
  before do
    @project = mock_model(Project)
    @project.stub!(:new_record?).and_return(true)

       @project.stub!(:name).and_return('bob dylan')

    assigns[:project] = @project
  end

  it "should render new form" do
    render "/projects/new.rhtml"
      # THIS IS THE LINE THE ERROR IS BEING THROWN ON
      response.should have_tag("form[action=?][method=post]",
projects_path) do
    end
  end
end

Here is the error message
+++++++
ActionView::TemplateError in '/projects/new.rhtml should render new
form'
Mock 'Project_1000' received unexpected message :name with (no args)
On line #3 of app/views/projects/_form.rhtml

    1: <p>
    2: <label for="project_name">Name:</label>
    3: <%= f.text_field :name %>
    4: </p>
    5:
    6: <p>
+++++++

Here is a snippet from the _form.rhtml file
<p>
        <label for="project_name">Name:</label>
        <%= f.text_field :name %>
</p>

<p>
        <label for="project_description">Description:</label>
        <%= f.text_area :description %>
</p>

+++++++++++

After seeing this error I thought I would set the name parameter in
the mock object. After doing so the test failed again, but because
the description was not set.

3. Yet another question
----------------------------------------

Is there some crazy bugs with the setup scripts?

I have found for the second time that the required files within the
script/ folder, as well as the spec_helper.rb and spec_opts, are never
created. Luckily for me I had one or two test projects that used on
of the older versions of rSpec so I was able to copy them over.

I can't see something like this not being fixed, so is it just me?

script/generate rspec

4. And finally
----------------------------------------
- I created a simple Person model with rspec_model and a person
controller with rspec_controller.
- The person model was created with one field: name:string
- There is no additional code within the person model class.

I then run the tests expecting everything to pass but I get one error
thrown saying that the person model is invalid.

Are you sure your test database is set up correctly?

There is another script that I have to run? :slight_smile: (Elevator music...) I
ran it and that answers the file missing question.

** For the Person validation issues, it seems the problem was that I
had my tests running from a sqlite3 database with the database set
pass.

As for the first problem listed, I typed the project controller wrong
when posting as it should be ProjectsController, but I do have the
correct version of it within the code.

$ rake spec
(in /Users/chrisolsen/Projects/Rails/Portfolio/trunk)
/usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:266:in `load_missing_constant':
uninitialized constant ProjectsHelper (NameError)
        from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/
active_support/dependencies.rb:452:in `const_missing'

helpers/projects_helper_spec.rb

Does anyone know why I am having these class issues?