Сбой: ожидается, что 0 будет>= 1 на ruby on rails


Я делаю учебник по Хартлу и вижу эту неудачу каждый раз, когда я запускаю тест рейка, я вижу эту неудачу:

  1) Failure:
StaticPagesControllerTest#test_should_get_help [.../sample_app/test/controllers/static_pages_controller_test.rb:14]:
<Help | Ruby on Rails Tutorial Sample App> expected but was
<Ruby on Rails Tutorial Sample App>..
Expected 0 to be >= 1.

Что это значит? И как я могу ее решить? Это мой static_pages_controller_test.файл rb.

require 'test_helper'

class StaticPagesControllerTest < ActionController::TestCase

  test "should get home" do
    get :home
    assert_response :success
    assert_select "title", "Ruby on Rails Tutorial Sample App"   end

  test "should get help" do
    get :help
    assert_response :success
    assert_select "title", "Help | Ruby on Rails Tutorial Sample App"   end

  test "should get about" do
    get :about
    assert_response :success
    assert_select "title", "About | Ruby on Rails Tutorial Sample App"   end

  test "should get contact" do
    get :contact
    assert_response :success
    assert_select "title", "Contact | Ruby on Rails Tutorial Sample App"   end end

А вот строка 14.

assert_select "title", "Help | Ruby on Rails Tutorial Sample App"
5 4

5 ответов:

Проблема в том, что нет соответствия html "Help | Ruby on Rails Tutorial Sample App".

Если вы посмотрите на определение assert_select, оно принимает :count в качестве (необязательного) аргумента. Если count Не задано, он устанавливает минимальное вхождение html в 1. Вот почему вы получаете ошибку Expected 0 to be >= 1.. В вашем случае было 0 совпадений, где тест ожидал по крайней мере 1 совпадение.

Я тоже столкнулся с этой проблемой. Он пришел из копии / вставки HTML-представлений из учебника.

Даже если текст одинаков между вашим представлением и вашим тестом, если вы копируете / вставляете из руководства Rails, вы должны переписать текст между тегами заголовка в вашем представлении (Home, About, Help и т. д.) самостоятельно, и текст должен пройти. Надеюсь эта помощь, она прошла для меня с этим.

Я использую vim. Не знаю, имеет ли это значение.

Я столкнулся с той же проблемой. То, что я сделал, это снял часть | Ruby on Rails Tutorial Sample App, внутри конца тега <title> в вашем файле application.html.erb. Надеюсь, это поможет!

У меня была та же проблема с тремя неудачами, дома, около и помощь.

Это оказалось простой опечаткой в static_pages / home (about & help).формат html.Эрб Я неправильно написал "учебник" и скопировал вставил ту же ошибку в каждый html.Эрб. Исправил опечатку и повторно провел тест рельсов. Успех :)

Поместите это в static_pages/(home/about/contact).формат html.файл erb. Я надеюсь, что это решит вашу проблему