我在最新版本的FaceBooker(1.0.58)上找到了这个:
# test_helper.rb
require 'facebooker/mock/session'
require 'facebooker/mock/service'
Facebooker::MockService.fixture_path = File.join(RAILS_ROOT, 'test', 'fixtures', 'facebook')
显然,你必须在设备中创建facebook目录,或者把它放在任何地方。在内部,您必须为每个facebook方法添加一个文件夹,并为要测试的不同类型的响应添加一个XML文件。我不得不加上
facebook.users.getInfo
和
facebook.users.hasAppPermission
. 最简单的方法就是添加一个名为
default.xml
使用Facebook wiki中用于这些操作的示例代码。
# Controller test
test "facebook action" do
get :index, {:fb_sig_added => true}, :facebook_session => Facebooker::MockSession.create
assert_response :success
end
据我所知,fb-sig-u添加的参数是必要的,因为内部facebooker逻辑在检查会话之前直接检查参数。我觉得这有点不靠谱,但也许有原因。