简体   繁体   中英

Rails test unit - helper with content_for

module ApplicationHelper

  def title(page_title, show_title = true)
    content_for(:title) do 
      page_title.to_s
    end
    @show_title = show_title
  end

end

Anyone knows how can I test this helper using test unit?

For any helper testing in rails, you always start in tests/unit/helpers.

Since this is a ApplicationHelper, use the file called application_helper_test.rb

In that file you can have something like

 
 test "displays page title" do
    assert_equal "April 2010", title("April 2010", false)
  end

You can test whatever is returned in a helper by just calling the method as usual, and asserting something is sent back.

Not knowing what you are doing, personally, there is too much going on in this method, but that could just be me.

I'd break these two out, so that your helper is just returning a page_title and another one is returning a "show_title" whatever that is. or is that like your switch to say " I should show this title on a page"?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM