我正在尝试让RSpec在一个简单的Sinatra应用程序中运行,但每次运行我的测试套件时,它都会以开发模式而不是测试模式运行。
根据我所读到的内容,我的spec_helper
是正确的,但它仍然始终使用开发环境。
规格/ spec_helper.rb
# spec/spec_helper.rb
ENV['RACK_ENV'] = 'test'
require File.expand_path './../../app.rb', __FILE__
require 'rack/test'
require 'rspec'
module RSpecMixin
include Rack::Test::Methods
def app; App; end
end
RSpec.configure do |config|
config.include RSpecMixin
end
我错过了什么?
答案 0 :(得分:0)
根据此文档:http://sinatrarb.com/configuration.html#environment---configurationdeployment-environment
当没有设置RACK_ENV时,该值默认为:development
。我猜测app(和配置)已经初始化ENV['RACK_ENV'] = 'test'
中的spec/spec_helper.rb
。
您可以检查require File.expand_path './../../app.rb', __FILE__
是否返回true。