Cleaner Rspec spec_helper文件和实例变量

时间:2012-06-20 00:50:39

标签: 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
   "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

1 个答案:

答案 0 :(得分:0)

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

除标准Ruby外,RSpec还支持明确name the subjectcollaborators in your tests

就我个人而言,我将subject(:app)用于测试对象,let用于协作者(主要是类),before块内的本地变量和实例变量,或者在规范内部用于简单的东西,如用户名以及设置更复杂对象的密码和(工厂)方法。