我正在尝试创建一个功能测试,其中需要检查一个复选框,并且无论出于何种原因,Capybara 都没有选中该框。
我在用:
rspec:3.0.4 和水豚:2.4.1
当我打印出视图的快照时,未选中该复选框。
当我在 pry 中运行复选框代码时,它返回字符串“checked”但是当我打印快照时,复选框仍然没有被选中并且我的测试没有通过。我很好奇是否有另一种方法可以检查此复选框。
到目前为止,这是我当前的代码:
功能测试:
background do
discussion_group
@user2 = FactoryGirl.create(:user)
add_user_to_user_role_for_group(group, @user2)
admin_login
add_user_to_admin_role_for_group(group, @user)
visit groups_path
click_on 'Email Group'
end
scenario 'sending a valid email' do
valid_form
expect(page).to have_content group_email_success_notification
expect_count_of_deliveries_to_be 1
end
宏:
def valid_form
fill_in 'group_email_subject', with: new_text
fill_in 'group_email_body', with: Faker::Lorem.words(200).join("\s")
check "group_email_#{@user2.id}_"
click_on "Send Email"
end
我的测试的输出是我必须选择 1 个用户,这意味着我没有检查用户。当我在控制台中运行检查行时,我得到的是:
[10] check('group_email_10_')
=> "checked"
任何帮助是极大的赞赏。