这是我的测试:
require "rspec"
describe HomeController do
render_views
it "should renders the home" do
get :home
response.should render_template("home")
response.should include_text("Simulate Circuits Online")
end
end
但是,我得到了:
1) HomeController should renders the home
Failure/Error: response.should include_text("Some text to be test ..")
NoMethodError:
undefined method `include_text' for #<RSpec::Core::ExampleGroup::Nested_1:0xd429a0c>
# ./spec/controllers/home_controller_spec.rb:9:in `block (2 levels) in <top (required)>'
# (eval):6:in `block in fork'
# (eval):6:in `fork'
# (eval):6:in `fork'
那么,测试所呈现文本的正确方法是什么?
修改
如果我尝试response.should have_content("My text ..")
我得到了
1) HomeController should renders the home
Failure/Error: response.should have_content("My text ..")
expected there to be text "My text .." in "#"
# ./spec/controllers/home_controller_spec.rb:9:in `block (2 levels) in <top (required)>'
答案 0 :(得分:4)
在您的视图模板中,您确实拥有要检查的文本吗?错误似乎是它实际上找不到文本。
另外,请尝试使用response.should have_text
。
答案 1 :(得分:1)
试试这个:
response.should have_content("Simulate Circuits Online")
答案 2 :(得分:1)
您还可以使用DOM元素的属性和内容。
Regex.Replace(str, @"[\d-'""]", string.Empty);
此方法不会检索任何弃用警告。