gpt4 book ai didi

ruby - 在指定命名空间类时,我如何 stub 父类?

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:57 25 4
gpt4 key购买 nike

# 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' 因为这意味着还需要它的所有依赖项,这些不是规范所必需的。

最佳答案

您使用 RSpec 中的 stub_const 方法:

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

但使用 class Event 可能更简单;结束正如玛丽安建议的那样。

针对您的评论,是否需要在 describe block 上方声明?如果没有,也许试试

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

before do
stub_const("Event", fake_class)
end

it '' do
end
end

关于ruby - 在指定命名空间类时,我如何 stub 父类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16078388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com