gpt4 book ai didi

ruby-on-rails - 创建自定义 rspec 变量,如 Controller 规范的响应

转载 作者:行者123 更新时间:2023-11-28 21:11:27 24 4
gpt4 key购买 nike

我想创建一个类似于 response 对象的自定义变量,它应该只在 controller specs 中可用。我注意到 rspec 支持 filters这是钩子(Hook)之前/之后,这意味着我可以用它们创建实例变量以供以后使用。但是 response 对象感觉和工作起来更像是一个延迟计算的 let 变量。此外, Controller 规范支持可以接受参数的 assign 方法。rspec 是否支持任何方式来创建与特定类型的规范一起使用的类似方法?

注意:我不需要支持低于 rspec 3.0 的任何东西。

最佳答案

您可以通过使用您的函数创建一个模块然后将其包含在您的 RSpec 配置 block 中来简单地做到这一点。您可以控制规范的类型,当您包含模块时,它应该作为第二个参数可用:

module ControllerSpecHelpers
def something
'fubar2000'
end
end

RSpec.configure do |config|
config.include ControllerSpecHelpers, type: :controller
end

RSpec.describe BlahController, type: :controller do
it 'should be possible to use the `something` helper in a controller spec' do
expect(something).to eq('fubar2000')
end
end

关于ruby-on-rails - 创建自定义 rspec 变量,如 Controller 规范的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25691280/

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