【发布时间】:2014-08-20 06:37:02
【问题描述】:
我有一个 Rails 项目,其中我有一个分析库来跟踪代码不同部分的操作。我的初始化代码如下所示:
# config/initializers/analytics.rb
Analytics = SuperAnalytics.new({
api_key: '[SECRET]',
on_error: Proc.new { |status, msg| print msg }
})
我的控制器代码如下所示:
def register
email = params[:email]
return unless email.present?
Analytics.identify(
user: email,
parameters: {
email: email,
}
)
end
我的测试代码:
context '#register' do
it 'should create an identify tracking event' do
get :register, email: 'test@test.com'
response.status.should == 200
Analytics.should_receive(:identify)
end
end
我的测试失败了
Failure/Error: Analytics.should_receive(:identify)
(#<SuperAnalytics:0x007f8354594ac8>).identify(any args)
expected: 1 time
received: 0 times
在初始化程序中初始化的全局变量的存根方法是否存在问题?我在这里遗漏了什么吗?
谢谢!
【问题讨论】:
标签: ruby-on-rails-3 rspec analytics rspec-rails