gpt4 book ai didi

ruby - 在 RSpec 中捕获和断言 Meta 标签

转载 作者:数据小太阳 更新时间:2023-10-29 07:56:48 27 4
gpt4 key购买 nike

我正在尝试编写一个单元测试来断言几个元标记值(在响应部分下)。如何使用属性标签检查单个值?例如:

<meta property="keyword" content="site keywords" />
<meta property="description" content="site description" />

到目前为止,这就是我所得到的。但它返回失败。

it "should check meta fields" do
get :show, {:format => 'html' }
r = response.body
r.should have_selector('meta', :content => @site.title)
end

最佳答案

Capybara 的 have_selector 匹配器采用一个选项 :text,而不是 :content:

r.should have_selector('meta', :text => @site.title)

参见 this discussionthis discussion在 github 上。

但是,这并不能解释您的规范失败的原因,因为 :content 选项被忽略并且如果有什么更多允许的话应该使您的测试。

此测试失败的最可能原因是它是从 Controller 规范中调用的,在这种情况下,响应将是空白的,因为 rspec-rails prevents rails from actually rendering views .如果是这种情况,您需要将规范移至 spec/requests/下的文件,或添加指令 render_views。就在 describe block 内。

如果这不起作用,那么您必须提供有关规范上下文的更多信息,否则很难找出问题所在。

关于ruby - 在 RSpec 中捕获和断言 Meta 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12801463/

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