2
# models/event.rb
class Event < ActiveRecord::Base
  # ...
end

# models/event/timeline.rb
class Event::Timeline
  # ...
end

# spec/event/timeline_spec.rb
require 'spec_helper'
require 'models/event/timeline' # <- fails since "event" is not required

describe Event::Timeline do
  it '' do
    # ...
  end
end

require 'event'仕様に必要ではないすべての依存関係も必要とすることを意味するため、私はそうしたくありません。

4

1 に答える 1

1

stub_constRSpec のメソッドを使用します。

https://www.relishapp.com/rspec/rspec-mocks/v/2-13/docs/mutating-constants

class Event; endしかし、マリアンが提案したように使用する方がおそらく簡単です。

describeあなたのコメントに応えて、ブロックの上で宣言する必要がありますか? そうでない場合は、試してみてください

describe Event::Timeline do
  let(:fake_class) { Class.new }

  before do
    stub_const("Event", fake_class)
  end

  it '' do
  end
end
于 2013-04-18T12:03:10.277 に答える