Ruby、Rails 和 TDD 的新手。我将 RSpec 与 Capybara 和 Capybara webkit 一起使用。
尝试测试页面上是否存在 div 元素。
测试代码:
require 'spec_helper'
describe "Login module" do
before do
visit root_path
end
it "should have a module container with id mLogin" do
page.should have_css('div#mLogin')
end
it "should have a module container with id mLogin", :js => true do
page.evaluate_script('$("div#mLogin").attr("id")').should eq "mLogin"
end
end
第一个测试通过但第二个测试失败:
Login module should have a module container with id mLogin
Failure/Error: page.evaluate_script('$("div#mLogin").attr("id")').should eq "mLogin"
expected: "mLogin"
got: nil
在浏览器开发工具中运行 JS 并获得“mLogin”而不是 nil。
有任何想法吗?谢谢。