1
在下面的示例中,3个have_field规范失败,而2个has_selector传递失败。Rspec has_field在has_selector返回成功时产生错误
describe "without js support", js: false do
subject { page }
it { should have_selector "form label[for='user_password']", text: "Password" }
it { should have_selector "form input#user_password[name='user[password]'][type='password'][required]" }
it { should have_field "user_password" } # check by field id
it { should have_field "user[password]" } # check by field name
it { should have_field "Password" } # check by field label
end
在模板被测试其实我有(JS支持浏览器中禁用):
<label for="user_password" id="label_password">Password</label>
<input id="user_password" name="user[password]" required="required" type="password" />
have_selector规格为通预期,但have_field都没有。为什么?
更有趣的是后我改变一个例子:
describe "with js support", js: true" do
...
比所有5种规格变成绿色。这很棒,但我没有任何想法,我的nojs规格有什么问题。
这可能是一个假象':rack_test'与硒的驱动程序,如果您使用的水豚。 – cfeduke