我正在使用MiniTest,并且在集成测试中有以下行:
assert_select response.header['Content-Type'], "application/json"
但是,它的响应方式是:
弃用警告:由于 css 选择器无效,断言未运行。
在 '[#Nokogiri::CSS::Node:0x000000064b2e58 @type=:CHILD_SELECTOR, @value=[#Nokogiri::CSS::Node:0x000000064b3268 @type=:ELEMENT_NAME, @value=["application"]>, #Nokogiri::CSS::Node:0x000000064b2ef8 @type=:ELEMENT_NAME, @value=["json"]>]>]' 之后意外的 ';' (从 class:SessionsTest 中的块调用> at (byebug):1)
有没有人了解这是什么原因以及如何(或者)测试标头?
assert_select
用于检查 DOM 对象中的期望,通常是视图结果。
您可能应该在您的情况下使用assert_equal
.另请注意,在assert_equal
中,期望是第一个参数。
assert_equal "application/json", response.header['Content-Type']