首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Koala和RSpec测试脸谱方法

使用Koala和RSpec测试脸谱方法
EN

Stack Overflow用户
提问于 2012-10-14 00:08:42
回答 1查看 3.3K关注 0票数 1

我正在开发一个应用程序,它使用Rails、Omniauth和Koala的Facebook信息。使用Ryan铁路公司,我在用户模型上使用这个facebook方法,从Facebook的API中获取用户uid、auth_token等。

代码语言:javascript
复制
def facebook
  @facebook ||= Koala::Facebook::API.new(oauth_token)
end

我还有另一种方法,调用facebook方法从用户的朋友那里获取信息,让我们调用它,facebook_friends

在我的UsersController表演中,我有以下几点:

代码语言:javascript
复制
def show
  @user = User.find(params[:id])
  @friends = @user.facebook_friends
end

所以我在我的显示模板中使用了这两个实例变量。

写作测试与RSpec

这是我想做的一个测试

代码语言:javascript
复制
feature 'As a logged out user' do
  background do
    @user = FactoryGirl.create(:user)
  end
  scenario 'redirects to root path' do
    visit user_path @user
    page.current_path.should == root_path
  end
end

但是当我运行它时,我会得到这样的错误:

代码语言:javascript
复制
1) As a logged out user redirects to root path
 Failure/Error: visit user_path @user
 Koala::Facebook::APIError:
   OAuthException: Invalid OAuth access token.
 # ./app/models/user.rb:45:in `friends_birthday'
 # ./app/controllers/users_controller.rb:7:in `show'
 # ./spec/requests/user_integration_spec.rb:22:in `block (2 levels) in <top (required)>'

由于我不想每次运行测试时都使用有效的访问令牌,我如何使用RSpec?在用户模型上伪造facebook调用?

EN

回答 1

Stack Overflow用户

发布于 2012-10-15 18:58:32

VCR就是答案,您可以检查一下有关它的优秀铁路,http://railscasts.com/episodes/291-testing-with-vcr在我的示例项目中可以找到一些例子:spec.rb

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12878167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档