Ruby on Rails教程,5.3.4练习,如何使用assert_equal方法
问题描述:
在练习中,为full_title助手编写测试,并且必须填写代码。这里是测试Ruby on Rails教程,5.3.4练习,如何使用assert_equal方法
require 'test_helper'
class ApplicationHelperTest < ActionView::TestCase
test "full title helper" do
assert_equal full_title, FILL_IN
assert_equal full_title("Help"), FILL_IN
end
end
assert_equal方法如何在这里工作?我很困惑我应该为预期和实际投入什么。
答
expected
是值表示正确的行为,而actual
是实际返回的内容。如果full_title
是你正在测试的东西,那么它应该是actual
参数,你输出的方法应该是expected
参数。
答
你想使用这种格式的断言来测试:
assert_equal(expected, actual, [msg])
所以,你要测试,在这种情况下,预期值“full_title”将等于实际值。最后一部分[msg]
是一个可选的消息参数,如果您的测试失败,您可以添加这些消息来澄清您的反馈。 FILL_IN
部分是您插入实际值的地方。所以,如果full_title
有"Welcome To My Site"
一个值,你会写一个断言像测试值:
assert_equal full_title, "Welcome To My Site"
而如果full_title("Help")
值应"Welcome To My Site | Help"
那么你会测试它像这样:
assert_equal full_title, "Welcome To My Site | Help"
如果您可以包含可选的消息参数,使您的失败消息更清晰一些:
assert_equal full_title, "Welcome To My Site | Help", "This was not the correct title"
,如果测试失败,该消息将显示为日志的一部分。
有一个Rails指南,详细介绍如何使用断言:http://guides.rubyonrails.org/testing.html