我有一個非常簡單的Sinatra應用程序,我有麻煩測試。Sinatra測試總是404'ing
基本上,每一個請求測試返回404當我在該請求工作正常的瀏覽器測試知道。任何想法可能是什麼問題?
test_helper.rb中:
ENV["RACK_ENV"] = 'test'
$: << File.expand_path(File.dirname(__FILE__) + '/../lib')
require 'app'
Sinatra::Synchrony.patch_tests!
class Test::Unit::TestCase
include Rack::Test::Methods
end
app_test.rb
require 'test_helper'
class AppTest < Test::Unit::TestCase
def app
@app ||= Sinatra::Application
end
def test_it_says_hello
get "/"
assert_equal 200, last_response.status
end
end
app.rb
$: << 'config'
require "rubygems" require "bundler"
ENV["RACK_ENV"] ||= "development"
Bundler.require(:default, ENV["RACK_ENV"].to_sym)
require ENV["RACK_ENV"]
class App < Sinatra::Base register Sinatra::Synchrony
get '/' do
status 200
'hello, I\'m bat shit crazy and ready to rock'
end
end
的Gemfile
source :rubygems
gem 'daemons'
gem 'sinatra'
gem 'sinatra-synchrony', :require => 'sinatra/synchrony'
gem 'resque'
gem 'thin'
group :test do
gem 'rack-test', :require => "rack/test"
gem 'test-unit', :require => "test/unit"
end
爲什麼我不能得到這個通常很簡單的工作?
得到西納特拉測試充分了解你仍然可以得到404,當你更換'@app || =西納特拉: :Application'在你的測試中使用:'@app || = App'? – daddz
或嘗試'@app || = App.new' – daddz