Reputation: 397
I am working on the RoR Tutorial chapter 5 exercises and I can't seem to figure out what text to use in place of the "FILL_IN" I've tried reading the error messages by trying to match the actual with the expected. What am I doing wrong? Also, can someone explain how the <expected>
and <actual>
work in this test since I don't see the words "expected" or "actual" anywhere.
require 'test_helper'
class ApplicationHelperTest < ActionView::TestCase
test "full title helper" do
assert_equal full_title, "Kim's Cool Rails Site"
assert_equal full_title("Help"), "Kim's Cool Rails Site | Help"
end
end
Upvotes: 0
Views: 1350
Reputation: 11
I believe this is what you were after....
require 'test_helper'
class ApplicationHelperTest < ActionView::TestCase
test "full title helper" do
assert_equal full_title, "Ruby on Rails Tutorial Sample App"
assert_equal full_title("Help"), "Help | Ruby on Rails Tutorial Sample App"
end
end
Upvotes: 1
Reputation: 13952
can someone explain how the <expected>
and <actual>
work
Often a term between angle brackets, like <expected>
and <actual>
indicates a value that needs to be replaced. In this case, it mentions:
assert_equal <expected>, <actual>
which gives a description of the parameters taken by the assert_equal
method. We're meant to replace them with our real-life values. For example,
result = 1 + 1
assert_equal 2, result
Here we've replaced <expected>
with 2
, and <actual>
with result
, to test that 1 + 1 = 2, as we expect it to.
I can't seem to figure out what text to use in place of the "FILL_IN"
So the relevant lines in your code are:
assert_equal full_title, FILL_IN
assert_equal full_title('help'), FILL_IN
In both lines, you should replace FILL_IN
with whatever the result of the previous parameter is - in this case, full_title
, and full_title('help')
So, if full_title
gives "Kim's Cool Rails Site", then the first line should be:
assert_equal full_title, "Kim's Cool Rails Site"
And if full_title('Help')
gives "Kim's Cool Rails Site | Help", then the second line should be:
assert_equal full_title('Help'), "Kim's Cool Rails Site | Help"
** UPDATES **
So the error you're getting basically says: We expected to see "Ruby on Rails Tutorial Sample App" and instead we say "Kim's Cool Rails Site".
In the example I gave, I just used "Kim's Cool Rails Site" as an example because I didn't know the actual title of your site. You needed to replace "Kim's Cool Rails Site" with whatever the actual title of your site is (ie, whatever full_path
returns). So, judging from the error message, the exact code you need for the first line will be:
assert_equal full_title, "Ruby on Rails Tutorial Sample App"
You'll need to figure out the exact text you need for the second line yourself, but you'll basically just have to replace "Kim's Cool Rails Site | Help" with whatever you expect full_title('Help')
to return.
Upvotes: 5