简单的 Rspec 测试失败 - 原因是什么?

发布于 2024-11-25 02:20:03 字数 791 浏览 2 评论 0原文

编写我的第一个 rspec 测试之一。 headers == nil 打印 true,但下一个测试行 headers should be_nil 失败。为什么?

require 'net/http'

$url_arr = []
$url_arr << ...
$url_arr << ...
$url_arr << ...

module NetHelpers
    def get_headers(uri)
        Net::HTTP.get_response(URI.parse(uri)).get_fields('Set-Cookie')
    end
end

describe "new script" do
    include NetHelpers

    $url_arr.each do |uri|
        it "should not return cookies" do
            headers = get_headers(uri)
            p "==========> #{headers == nil}"
            headers should be_nil
        end
    end
end

另外,输出是

得到:“新脚本”(使用==)

为什么打印"new script",而headers实际上包含nil

Coding one of my first rspec tests. headers == nil prints true, but the next test line headers should be_nil fails. Why?

require 'net/http'

$url_arr = []
$url_arr << ...
$url_arr << ...
$url_arr << ...

module NetHelpers
    def get_headers(uri)
        Net::HTTP.get_response(URI.parse(uri)).get_fields('Set-Cookie')
    end
end

describe "new script" do
    include NetHelpers

    $url_arr.each do |uri|
        it "should not return cookies" do
            headers = get_headers(uri)
            p "==========> #{headers == nil}"
            headers should be_nil
        end
    end
end

Also, the output is

got: "new script" (using ==)

Why "new script" is printed, while headers really contains nil?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深海蓝天 2024-12-02 02:20:03

尝试

headers.should be_nil

一下。

Try

headers.should be_nil

instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文