lundi 4 juillet 2016

Cannot load such file in Test-Unit Sinatra

Im currently writing my test cases using ruby sinatra and im having a very weird or just im missing an important note/tip when writing a test cases using Test-Unit sinatra.

My problem is my my environments.rb is not being loaded in my test from my app.rb. but if i run it, it does get loaded.

here is my 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

my environments.rb is in the config folder.

and here is my sample test cases. (not yet finished)

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

and this is the error it throws.

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>

Im very confused what did i do wrong. thanks in advance.

Aucun commentaire:

Enregistrer un commentaire