2016-07-05 79 views
0

我正在使用ruby sinatra编写我的测试用例,并且使用测试单元sinatra编写测试用例时,我有一个非常奇怪或者仅仅缺少重要注释/提示。无法在测试单元中加载这样的文件Sinatra

我的问题是我的我的environments.rb没有从我的app.rb加载到我的测试中。但如果我运行它,它会得到加载。

这里是我的app.rb

require 'rubygems' 
require 'sinatra' 
require 'pg' 
require './config/environments' 
require './models/user' 

module Registration 
    class HelloWorldApp < Sinatra::Base 

    helpers do 
     include Rack::Utils 
     alias_method :h, :escape_html 
    end 
    get '/' do 
     @title = " Introduction Biatch" 
     erb :index 
    end 

    post '/register' do 
     DB[:users].insert(username: params[:username],password: params[:password]) 
     redirect '/view' 
    end 

    get '/view' do 
     @users = User.all 
     erb :view 
    end 

    get '/view/:id' do 
     @user = User.find(id: params[:id]) 
     erb :edit 
    end 

    post '/edit/:id' do 
     @user = User.find(id: params[:id]) 
     @user.update(username: params[:username],password: params[:password]) 
     redirect '/view' 
    end 

    get '/delete/:id' do 
     @delete_user = User.find(id: params[:id]) 
     @delete_user.delete 
     redirect '/view' 
    end 

    end 
end 

我environments.rb是在config文件夹。

这里是我的示例测试用例。 (尚未完成)

require 'rubygems' 
require 'test/unit' 
require 'test/unit/assertions' 
require '../app/app' 

module Registration 

    class TestCrud < Test::Unit::TestCase 
     # include Registration::HelloWorldApp 

     def test_insert_user 
     end 

     def test_get_all_user 
     end 

     def test_delete_all_user 
     end 

    end 

end 

并且这是它引发的错误。

C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- ./config/environments (LoadError) 
     from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from C:/Users/John/Documents/Sinatra-Intro/app/app.rb:4:in `<top (required)>' 
     from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
     from test_crud.rb:4:in `<main>' 

C:\Users\John\Documents\Sinatra-Intro\test> 

我很困惑我做错了什么。提前致谢。

回答

0

我找到了答案,只需将require'./config/environments'更改为require_relative。并将require'../app/app'更改为require_into。

相关问题