我正在尝试用rspec模拟一个类方法:
LIB/db.rb
class Db def self.list(options) Db::Payload.list(options) end end
LIB /分贝/ payload.rb
class Db::Payload def self.list(options={}) end end
在我的规范中,我正在尝试设置期望Db :: Payload.list将在我调用Db.list时被调用:
require 'db/payload' describe Db do before(:each) do @options = {} Db::Payload.should_receive(:list).with(@options) end it 'should build the LIST payload' do Db.list(@options) end end
问题是我总是收到以下错误:
undefined method `should_receive' for Db::Payload:Class
任何帮助理解这个错误将是非常感谢:-)
我正在尝试使用新生成的Rails 2.3.8应用程序启动和运行Devise.
这是我遇到的错误:
devise > script/generate devise_install
Couldn't find 'devise_install' generator
Run Code Online (Sandbox Code Playgroud)
我的配置文件中指定了Devise和Warden gems:
config.gem 'warden', :version => '0.10.7'
config.gem 'devise', :version => '1.0.8'
Run Code Online (Sandbox Code Playgroud)
宝石安装:
devise > rake gems
- [I] warden = 0.10.7
- [R] rack >= 1.0.0
- [I] devise = 1.0.8
- [I] warden ~> 0.10.3
- [R] rack >= 1.0.0
I = Installed
F = Frozen
R = Framework (loaded before rails starts)
Run Code Online (Sandbox Code Playgroud)
查看生成器列表,我没有看到Devise中的任何内容:
devise > script/generate
Installed Generators
Rubygems: cucumber, facebook, facebook_controller,
facebook_publisher, facebook_scaffold, feature, integration_spec, …
Run Code Online (Sandbox Code Playgroud)