2015-01-23 4 views
0

Я читаю учебник Hartl, и у меня есть вопрос о том, является ли это правильным синтаксисом. Как рельсы знают, к какому контроллеру нужно смотреть? У меня есть 10 контроллеров, и я пишу тест для контроллера статических страниц. Как он знает, что получится: дома ссылаются и где? Он выглядит в связанном контроллере с именем файла? Или он выглядит в маршрутах?Rails minitest синтаксис для get: index

Кроме того, является assert_response тест в стойке или тест на рельсы?

require 'test_helper' 

class StaticPagesControllerTest < ActionController::TestCase 

    test "should get home" do 
    get :home 
    assert_response :success 
    end 

    test "should get help" do 
    get :help 
    assert_response :success 
    end 
end 

ответ

3

Как он знает, что получить: дом относится к и где?

Rails делает много магии, часть этой магии попадает в категорию convention over configuration.

В этом случае тот факт, что имя этого класса теста StaticPagesControllerTest сообщает набору тестов, что он тестирует StaticPagesController.

Это стандартные рельсы конвенции, чтобы назвать тесты таким образом. Вы можете технически настроить любой тест, чтобы посмотреть на любой контроллер или действие, которое вы хотите, но после этого соглашения есть много преимуществ (другое обсуждение).

При указании get :homegethttp method на действие контроллера под номером :home.

Кроме того, является assert_response тест стойки или тест на рельсы?

Он спрашивает рельсы для получения кода состояния. В этом случае он проверяет, был ли код состояния 200.

Дополнительная информация: http://api.rubyonrails.org/classes/ActionDispatch/Assertions/ResponseAssertions.html#method-i-assert_response

Смежные вопросы