2014-01-09 59 views
0

我想写一个omniauthvcr这样的规范。如何写出水豚`访问`方法出水豚

describe "Omniauth" do 
    describe "Twitter" do 
     VCR.use_cassette 'omniauth/twitter' do 
     auth = visit 'users/auth/twitter' 
     auth.info.name.should exist 
     end 
    end 
    end 

这导致错误undefined method 'visit',我发现这是非常棘手的同时使用水豚和录像机。

vcr with capybara-webkit

所以我打算写visit功能,无需水豚。 但我不知道该怎么写。任何人都可以帮我吗?

编辑2014年1月19日

这个问题是投票closed因为我的问题是不明确的,所以我增加更多的细节。

vcr使用机架服务器,所以是capybara,因此通常我不能使用水豚的visit方法里面的VCR.use_cassette方法。

我想知道仅使用纯rspec方法的visit方法的等价物。

+0

这篇文章怎么样? http://betterspecs.org/#http – tkymtk

+0

我认为,文章解释了如何使用已创建的存根。但我想通过在spec文件中使用'vcr'来创建存根本身。无论如何感谢您的回复。 – ironsand

回答

0

您可以尝试使用Rack :: Test及其#get方法。它通常用普通机架式应用程序,如西纳特拉使用,但它也有利于通用API测试等

下面是一些步骤与西纳特拉使用它的链接,同样适用于任何基于Rack的应用程序,但:http://www.sinatrarb.com/testing.html