2015-04-17 3 views
1

Так что я довольно новыми для тестирования с RSpecRSPEC-тестирование контроллера просмотра?

Я просто тестирование рендеринг моего контроллера так:

describe "GET job" do 
    it "renders the jobs view" do 
    get :jobs 
    expect(response).to render_template :jobs 
end 

Однако мое мнение (работы) представляет собой папку, а не шаблон, так что выше dosnt работать. Как проверить, отображается ли ответ в папке просмотра заданий. внутри моей папки просмотра заданий у меня много разных файлов.

Мои действия контроллера клиента выглядит так:

def jobs 
    @jobs = @customer.jobs 
end 
+0

Какой шаблон в папке является тем, который должен отображаться действием задания? – infused

+0

render_template ("jobs/foobar") –

ответ

1

Чтобы проверить, что шаблон foobar внутри app/views/jobs/ визуализируется вы должны использовать этот код:

describe "GET job" do 
    it "renders the jobs view" do 
    get :jobs 
    expect(response).to render_template :foobar 
end 

Если вы не испытывая JobsController и будет чтобы убедиться, что он по-прежнему отображает app/views/jobs/foobar, то вы должны поменять его на эту строку:

expect(response).to render_template("jobs/foobar") 
0

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

describe "GET job" do 
    render_views 

    it "renders the jobs view" do 
    get :jobs 

    expect(response).to render_template("jobs/foobar") 
end 

где render_views сделает вынести соответствующий вид действия контроллера.

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