gpt4 book ai didi

ruby-on-rails - 使用 assert_select 查找选择框值?

转载 作者:太空宇宙 更新时间:2023-11-03 16:18:45 25 4
gpt4 key购买 nike

我正在努力测试我的选择框的值是否为 6。

<form class="edit_line_item" id="edit_line_item_7" action="/line_items/7" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓"><input type="hidden" name="_method" value="patch">
<select name="line_item[quantity]" id="line_item_quantity"><option selected="selected" value="1">1</option>
</select>
</form>

我的 rspec 代码

assert_select "select#line_item_quantity", value: 6

无论我将值更改为我的测试仍然通过,所以我在某个地方错了。

最佳答案

要以这种方式使用assert_select,您必须将一个 block 传递给它,并对传递给该 block 的元素数组进行断言。

assert_select 是“选择元素并进行一次或多次相等性测试的断言”

示例:

 assert_select "ol" do |elements|
elements.each do |element|
assert_select element, "li", 4
end
end

您需要调整此示例以根据所选元素(在本例中为 select 标签)内的选项标签的 value 属性进行断言。

我建议阅读文档:http://apidock.com/rails/v2.3.8/ActionController/Assertions/SelectorAssertions/assert_select

如果您使用的是 capybara ,则可以使用have_select。在这里回答:https://stackoverflow.com/a/18622979/156746

关于ruby-on-rails - 使用 assert_select 查找选择框值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38338393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com