gpt4 book ai didi

testing - 如何让 attr_accessor 只在测试环境下工作?

转载 作者:行者123 更新时间:2023-11-28 20:46:11 25 4
gpt4 key购买 nike

我正在使用 Sinatra 和 RSpec。我在 lib/auth.rb 中有这个

class Person
attr_accessor :password if ENV['RACK_ENV'] == 'test'
....

我想在使用 Rspec 进行测试时执行此代码,但它不起作用。这是我的规范文件:

describe Person
it 'should match the password' do
@james = Person.new(foo, 'bar')
@james.password.should == 'bar'
end
end

我不希望 @james.password 可以在这个模型之外访问,但是可以从 Rspec 文件或测试环境中访问它。是否有任何代码可以使 attr_accessor 仅在测试环境中工作?

最佳答案

您在运行测试时是否真的设置了 ENV['RACK_ENV']

尝试添加

ENV['RACK_ENV'] = 'test'

到你的测试文件的开头。

关于testing - 如何让 attr_accessor 只在测试环境下工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9138129/

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