水豚断言未从下拉列表中选择任何内容

Capybara assert nothing selected from dropdown

我试图断言我的下拉列表中的 none 个选项已被 select 编辑,但以下都失败了:

assert page.has_select? "franchise_id", selected: nil
assert page.has_select? "franchise_id", selected: false
assert page.has_select? "franchise_id", selected: "Pick a Franchise"

我只是想测试一下我的 select 输入是否没有 selected。我该怎么做?

您可以通过在 Capybara::Node::Element 上调用 .value 来获取 select 的值。

assert_nil page.find("#franchise_id").value

# Rails specific
assert_blank page.find("#franchise_id").value 

也许更简单:

assert page.has_select? "franchise_id", selected: []

这至少适用于水豚 2.14.0 甚至更早版本。