【问题标题】:Expect dropdown to have contents期望下拉菜单有内容
【发布时间】:2014-01-30 19:45:24
【问题描述】:

检查下拉菜单是否包含我想要的选项的最简单方法是什么?

我正在使用 rails 和 rspec 以及 capybara

我正在尝试按照以下方式编写测试:

expect(menu).to have_contents(item1.name)
expect(menu).to have_contents(item2.name)
expect(menu).not_to have_contents(item3.name)

【问题讨论】:

  • 您想如何检查选项?您可以使用选项文本还是必须按名称?
  • @JustinKo 这些应该是一样的。下拉选项是项目名称。

标签: rspec ruby-on-rails-4 capybara


【解决方案1】:

对我来说,上面的不起作用,但下面的起作用:

expect(page).to have_select("drop_down_id", :with_options => [item1.name, item2.name])

注意 with_options,而不是 options

【讨论】:

  • 我希望投票反对的人解释了原因。现在提出这个问题,接受的答案不起作用,但确实如此。
【解决方案2】:

明白了..比我最初想象的要容易

expect(page).to have_select("drop_down_id", options: [item1.name, item2.name])
expect(page).not_to have_select("drop_down_id", options: item3.name)

【讨论】:

    猜你喜欢
    • 2019-05-05
    • 2017-02-04
    • 2018-01-27
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多