我的函数在实践中有效,但未通过rspec测试

问题描述 投票:0回答:1

也许这是我对rspec的不熟悉,但我不知道我的测试正在进行什么。

我有2个类,一个叫做Scrape,另一个是Result(创意),Scrape是一个Web抓取类,它搜索站点并从页面抓取结果,并从每个页面创建一个新的Result实例。

结果实例存储在可通过Result.all访问的类变量数组中>

这在实际程序中实际上是可行的,但是当我尝试为此行为编写测试时,它会失败。

    describe "#scrape_results" do
        it "accepts a url scrapes the page and creates a Result for each" do
            s = Scrape.new
            s.scrape_results(@url)
            expect(Result.all.count).not_to eq(0)
        end
    end

每次运行测试Result.all.count均为0如果我使用撬动并手动运行#scrape_results,则测试通过。

我感谢您的时间,耐心和帮助谢谢

也许是我对rspec缺乏了解,但我不了解我的测试正在发生什么。我有2个类别,一个叫做Scrape,另一个是Result(creative)Scrape是一个Web抓取类别...

ruby testing rspec tdd ruby-test
1个回答
0
投票

我注意到您在测试中将@url传递给#scrape_results。除非您在describe块或测试块内定义该变量,否则它将在测试中为nil@url可能是您从任何地方撬起的nil以外的东西,这会导致创建结果并通过测试。

© www.soinside.com 2019 - 2024. All rights reserved.