assert_template(options = {}, message = nil) public

Asserts that the request was rendered with the appropriate template file or partials.

# assert that the "new" view template was rendered
assert_template "new"

# assert that the exact template "admin/posts/new" was rendered
assert_template %r{\Aadmin/posts/new\Z}

# assert that the layout 'admin' was rendered
assert_template layout: 'admin'
assert_template layout: 'layouts/admin'
assert_template layout: :admin

# assert that no layout was rendered
assert_template layout: nil
assert_template layout: false

# assert that the "_customer" partial was rendered twice
assert_template partial: '_customer', count: 2

# assert that no partials were rendered
assert_template partial: false

In a view test case, you can also assert that specific locals are passed to partials:

# assert that the "_customer" partial was rendered with a specific object
assert_template partial: '_customer', locals: { customer: @customer }
Show source
Register or log in to add new notes.