Rub*_*cut 4 rack rspec sinatra
在我开发的过程中,我希望在运行测试时看到sinatra app异常,cosider示例:
require 'sinatra/base'
class ExceptionWeb < Sinatra::Base
enable :raise_errors
enable :dump_errors
configure do
enable :dump_errors
end
get "/" do
raise "hell"
"ok"
end
def self.bad_method
raise "bad method"
end
end
require 'rack/test'
describe 'The Web interface' do
include Rack::Test::Methods
def app
ExceptionWeb
end
it "should error out" do
get "/"
#puts last_response.errors
#ExceptionWeb.bad_method
#last_response.should be_ok
end
end
Run Code Online (Sandbox Code Playgroud)
下面的rspec代码显示没有异常,如果我取消注释last_response,那么我看到有些错误,但我看不出有什么问题.
但是电话mad_method显示我异常.
并且添加puts last_response.errors到每个测试看起来都不合适.
我尝试了sinatra配置选项raise_errors,dump_errors但这对我没什么帮助.
有任何想法吗?
小智 13
ENV['RACK_ENV']设置为默认情况下,Sinatra将按照您希望的方式运行'test'.因为西纳特拉的工作方式,你必须确保这个环境变量设置正确之前解释加载在您的应用程序定义文件(即它检查了这一点:创建应用类,而不是对每个请求.)
这是必须使用的选项组合,然后才能运行.
set :raise_errors, true
set :dump_errors, false
set :show_exceptions, false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2689 次 |
| 最近记录: |