我希望为我的所有测试文件提供一些常量,并且不确定使用rspec执行此操作的最佳方法。这样做是否是声明实例变量的最佳实践?谢谢!
require File.join(File.dirname(__FILE__), '..', 'app.rb')
require 'rack/test'
set :environment, :test
set :run, false
set :raise_errors, true
set :logging, false
def access_token
"xxxxx"
end
def api_token
"xxxxx"
end
def app
Sinatra::Application
end
RSpec.configure do |config|
config.include Rack::Test::Methods
end
#no database debug messages
ActiveRecord::Base.logger.level = Logger::INFO
答案 0 :(得分:0)
RSpec不会限制您为规范定义数据的方式。您可以使用常规方法,常量,本地,实例或类变量等。您可以选择最合适的解决方案。
除标准Ruby外,RSpec还支持明确name the subject和collaborators in your tests。
就我个人而言,我将subject(:app)
用于测试对象,let
用于协作者(主要是类),before
块内的本地变量和实例变量,或者在规范内部用于简单的东西,如用户名以及设置更复杂对象的密码和(工厂)方法。