Cleaner Rspec spec_helper文件和实例变量

Cleaner Rspec spec_helper文件和实例变量,rspec,Rspec,我希望为我的所有测试文件提供一些常量,但不确定使用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 "

我希望为我的所有测试文件提供一些常量,但不确定使用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

RSpec不会限制您为规范定义数据的方式。您可以使用常规方法、常量、局部变量、实例变量或类变量等。您可以选择最合适的解决方案

除了标准的Ruby之外,RSpec还支持显式地和

就我个人而言,我对测试对象使用
subject(:app)
,对协作者(主要是类)使用
let
,在
块之前使用
中的局部变量和实例变量,或在规范中使用用户名和密码等简单内容,以及设置更复杂对象的(工厂)方法