小编Chr*_*mer的帖子

RSpec - 模拟一个类方法

我正在尝试用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

任何帮助理解这个错误将是非常感谢:-)

ruby rspec ruby-on-rails mocking

13
推荐指数
1
解决办法
9654
查看次数

找不到'devise_install'生成器--Rails 2.3.8,Devise 1.0.8

我正在尝试使用新生成的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)

ruby ruby-on-rails devise

9
推荐指数
3
解决办法
2680
查看次数

标签 统计

ruby ×2

ruby-on-rails ×2

devise ×1

mocking ×1

rspec ×1