Rails 4: синтаксис для тестирования партиалов

Я пытаюсь понять синтаксис Rails для тестирования представлений и частей.

В чем разница между этими двумя тестами? Оба успешно используют мой частичный файл в app/views/layouts/_auth.html.erb.

assert_template layout: "layouts/application", partial: "_auth"

и это:

assert_template layout: "layouts/_auth"

Также вот тесты, которые я написал для этого контроллера. Все утверждения проходят, но я думаю, что упускаю некоторые условности. Если вы видите какие-либо, пожалуйста, дайте мне знать.

class UsersControllerTest < ActionController::TestCase
  test "should get index" do
    get :index
    assert_response :success
    assert_template :index
    assert_template layout: "layouts/application"
    assert_template layout: "layouts/application", partial: "_auth"
    assert_template partial: "sessions/_sign_in_form" # Can the below partials be rewritten?
    assert_template partial: "shared/_user_error_messages"
    assert_template partial: "users/_user_form"
    assert_template partial: "layouts/_log_in_modal"
  end
end

person Don P    schedule 27.12.2013    source источник


Ответы (1)


Первое утверждение проверяет, что оба макета «layouts/application» и частичный «_auth» были обработаны.
Второй проверяет только "_auth".
Замените его на :partial, так как он лучше сообщает, что такое "_auth".
Вы можете обратиться к документации

person TheRusskiy    schedule 27.12.2013