gpt4 book ai didi

ruby - 如何在 rspec 测试中定义一个可以被辅助函数访问的简单全局变量

转载 作者:数据小太阳 更新时间:2023-10-29 06:52:29 25 4
gpt4 key购买 nike

我不知道如何在 rspec 测试中使用一个简单的全局变量。这似乎是一个微不足道的功能,但经过多次目击后我还没有找到解决方案。

我想要一个可以在整个主规范文件和辅助规范文件中的函数中访问/更改的变量。

这是我目前所拥有的:

require_relative 'spec_helper.rb'
require_relative 'helpers.rb'
let(:concept0) { '' }

describe 'ICE Testing' do
describe 'step1' do
it "Populates suggestions correctly" do
concept0 = "tg"
selectConcept() #in helper file. Sets concept0 to "First Concept"
puts concept0 #echos tg?? Should echo "First Concept"
end
end

.

 #helpers.rb
def selectConcept
concept0 = "First Concept"
end

有人可以指出我遗漏了什么或者使用“let”是完全错误的方法吗?

最佳答案

考虑使用带有实例变量的全局前钩子(Hook):http://www.rubydoc.info/github/rspec/rspec-core/RSpec/Core/Configuration

在您的 spec_helper.rb 文件中:

RSpec.configure do |config|
config.before(:example) { @concept0 = 'value' }
end

然后@concept0 将在您的示例 (my_example_spec.rb) 中设置:

RSpec.describe MyExample do
it { expect(@concept0).to eql('value') } # This code will pass
end

关于ruby - 如何在 rspec 测试中定义一个可以被辅助函数访问的简单全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19167031/

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