title: error running rake test on RoR tutorial 3rd edition chapter 7
body: <p>I am having trouble getting my rake tests to run Green while doing chapter 7 of the 3rd edition of Ruby on Rails Tutorial.</p>
  
  <p>The code of the affected files are below.</p>
  
  <pre><code>ERROR["test_should_get_new", UsersControllerTest, 3.036159469]
   test_should_get_new#UsersControllerTest (3.04s)
  ActionView::Template::Error:         ActionView::Template::Error: undefined method `users_path'     for #&lt;#&lt;Class:0x00000007294440&gt;:0x000000072a7f18&gt;
              app/views/users/new.html.erb:6:in     `_app_views_users_new_html_erb__951977753260241405_60205740'
              test/controllers/users_controller_test.rb:5:in `block in &lt;class:UsersControllerTest&gt;'
          app/views/users/new.html.erb:6:in     `_app_views_users_new_html_erb__951977753260241405_60205740'
      test/controllers/users_controller_test.rb:5:in `block in &lt;class:UsersControllerTest&gt;'
  
  ERROR["test_layout_links", SiteLayoutTest, 4.296022857]
   test_layout_links#SiteLayoutTest (4.30s)
  ActionView::Template::Error:         ActionView::Template::Error: undefined method `users_path' for #&lt;#&lt;Class:0x00000007294440&gt;:0x00000007aebd78&gt;
          app/views/users/new.html.erb:6:in `_app_views_users_new_html_erb__951977753260241405_60205740'
          test/integration/site_layout_test.rb:12:in `block in &lt;class:SiteLayoutTest&gt;'
      app/views/users/new.html.erb:6:in `_app_views_users_new_html_erb__951977753260241405_60205740'
      test/integration/site_layout_test.rb:12:in `block in &lt;class:SiteLayoutTest&gt;'
  
  ERROR["test_invalid_signup_information", UsersSignupTest, 4.432177815]
   test_invalid_signup_information#UsersSignupTest (4.43s)
  ActionView::Template::Error:         ActionView::Template::Error: undefined method `users_path' for #&lt;#&lt;Class:0x00000007294440&gt;:0x00000007bbb1e0&gt;
          app/views/users/new.html.erb:6:in `_app_views_users_new_html_erb__951977753260241405_60205740'
          test/integration/users_signup_test.rb:6:in `block in &lt;class:UsersSignupTest&gt;'
      app/views/users/new.html.erb:6:in `_app_views_users_new_html_erb__951977753260241405_60205740'
      test/integration/users_signup_test.rb:6:in `block in &lt;class:UsersSignupTest&gt;'
  
  ERROR["test_valid_signup_information", UsersSignupTest, 4.510334368]
   test_valid_signup_information#UsersSignupTest (4.51s)
  ActionView::Template::Error:         ActionView::Template::Error: undefined method `users_path' for #&lt;#&lt;Class:0x00000007294440&gt;:0x00000005dc3b10&gt;
          app/views/users/new.html.erb:6:in `_app_views_users_new_html_erb__951977753260241405_60205740'
          test/integration/users_signup_test.rb:17:in `block in &lt;class:UsersSignupTest&gt;'
      app/views/users/new.html.erb:6:in `_app_views_users_new_html_erb__951977753260241405_60205740'
      test/integration/users_signup_test.rb:17:in `block in &lt;class:UsersSignupTest&gt;'
  
  18/18: [==================================================] 100% Time: 00:00:04, Time: 00:00:04
  
  Finished in 4.83507s
  18 tests, 32 assertions, 0 failures, 4 errors, 0 skips
  </code></pre>
  
  <p><strong>My new.html.erb file</strong></p>
  
  <pre><code> &lt;% provide(:title, 'Sign up') %&gt;
  &lt;h1&gt;Sign up&lt;/h1&gt;
  
  &lt;div class="row"&gt;
    &lt;div class="col-md-6 col-md-offset-3"&gt;
      &lt;%= form_for(@user) do |f| %&gt;
        &lt;%= render 'shared/error_messages' %&gt;
  
        &lt;%= f.label :name %&gt;
        &lt;%= f.text_field :name, class: 'form-control' %&gt;
  
        &lt;%= f.label :email %&gt;
        &lt;%= f.text_field :email, class: 'form-control' %&gt;
  
        &lt;%= f.label :password %&gt;
        &lt;%= f.password_field :password, class: 'form-control' %&gt;
  
        &lt;%= f.label :password_confirmation, "Confirmation" %&gt;
        &lt;%= f.password_field :password_confirmation, class: 'form-control' %&gt;
  
        &lt;%= f.submit "Create my account", class: "btn btn-primary" %&gt;
      &lt;% end %&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p><strong>my users_controllers_test file</strong></p>
  
  <pre><code>require 'test_helper'
  
  class UsersControllerTest &lt; ActionController::TestCase
    test "should get new" do
      get :new
      assert_response :success
    end
  
  end
  </code></pre>
  
  <p><strong>site_layout_test</strong></p>
  
  <pre><code>require 'test_helper'
  
  class SiteLayoutTest &lt; ActionDispatch::IntegrationTest
  
    test "layout links" do
      get root_path
      assert_template 'static_pages/home'
      assert_select "a[href=?]", root_path, count: 2
      assert_select "a[href=?]", help_path
      assert_select "a[href=?]", about_path
      assert_select "a[href=?]", contact_path
      get signup_path
      assert_select "title", full_title("Sign up")
    end
  end
  </code></pre>
  
  <p><strong>my user_signup_test</strong></p>
  
  <pre><code>require 'test_helper'
  
  class UsersSignupTest &lt; ActionDispatch::IntegrationTest
  
    test "invalid signup information" do
      get signup_path
      assert_no_difference 'User.count' do
        post users_path, user: { name:  "",
                             email: "user@invalid",
                             password:              "foo",
                             password_confirmation: "bar" }
      end
      assert_template 'users/new'
    end
  
    test "valid signup information" do
      get signup_path
      name     = "Example User"
      email    = "user@example.com"
      password = "password"
      assert_difference 'User.count', 1 do
        post_via_redirect users_path, user: { name:  name,
                                          email: email,
                                          password:              password,
                                          password_confirmation: password }
      end
      assert_template 'users/show'
    end
  end
  </code></pre>
  
  <p><strong>and finally my custom.css file</strong></p>
  
  <pre><code>@import "bootstrap-sprockets";
  @import "bootstrap";
  
  /* mixins, variables, etc. */
  
  $gray-medium-light: #eaeaea;
  
  @mixin box_sizing {
    -moz-box-sizing:    border-box;
    -webkit-box-sizing: border-box;
    box-sizing:         border-box;
  }
  
  /* universal */
  
  html {
    overflow-y: scroll;
  }
  
  body {
    padding-top: 60px;
  }
  
  section {
    overflow: auto;
  }
  
  textarea {
    resize: vertical;
  }
  
  .center {
    text-align: center;
    h1 {
      margin-bottom: 10px;
    }
  }
  
  /* typography */
  
  h1, h2, h3, h4, h5, h6 {
    line-height: 1;
  }
  
  h1 {
    font-size: 3em;
    letter-spacing: -2px;
    margin-bottom: 30px;
    text-align: center;
  }
  
  h2 {
    font-size: 1.2em;
    letter-spacing: -1px;
    margin-bottom: 30px;
    text-align: center;
    font-weight: normal;
    color: $gray-light;
  }
  
  p {
    font-size: 1.1em;
    line-height: 1.7em;
  }
  
  
  /* header */
  
  #logo {
    float: left;
    margin-right: 10px;
    font-size: 1.7em;
    color: white;
    text-transform: uppercase;
    letter-spacing: -1px;
    padding-top: 9px;
    font-weight: bold;
    &amp;:hover {
      color: white;
      text-decoration: none;
    }
  }
  
  /* footer */
  
  footer {
    margin-top: 45px;
    padding-top: 5px;
    border-top: 1px solid $gray-medium-light;
    color: $gray-light;
    a {
      color: $gray;
      &amp;:hover {
        color: $gray-darker;
      }
    }
    small {
      float: left;
    }
    ul {
      float: right;
      list-style: none;
      li {
        float: left;
        margin-left: 15px;
      }
    }
  }
  
  /* miscellaneous */
  
  .debug_dump {
    clear: both;
    float: left;
    width: 100%;
    margin-top: 45px;
   @include box_sizing;
  }  
  
  
  /* sidebar */
  
  aside {
    section.user_info {
      margin-top: 20px;
    }
    section {
      padding: 10px 0;
      margin-top: 20px;
      &amp;:first-child {
        border: 0;
        padding-top: 0;
      }
      span {
        display: block;
        margin-bottom: 3px;
        line-height: 1;
      }
      h1 {
        font-size: 1.4em;
        text-align: left;
        letter-spacing: -1px;
        margin-bottom: 3px;
        margin-top: 0px;
      }
    }
  }
  
  .gravatar {
    float: left;
    margin-right: 10px;
  }
  
  .gravatar_edit {
    margin-top: 15px;
  }
  
  /* forms */
  
  input, textarea, select, .uneditable-input {
    border: 1px solid #bbb;
    width: 100%;
    margin-bottom: 15px;
    @include box_sizing;
  }
  
  input {
    height: auto !important;
  }
  
  #error_explanation {
    color: red;
    ul {
      color: red;
      margin: 0 0 30px 0;
    }
  }
  
  .field_with_errors {
    @extend .has-error;
    .form-control {
      color: $state-danger-text;
    }
  }
  </code></pre>
  
  <p>If anyone can shed some light onto my error I would be grateful</p>