Domanda

Vorrei testare il codice nella directory lib di Rails.Uso RubyTest per lavorare in Sublime Text 2. La mia libreria è in lib/my_lib.

module MyLib
    def self.get_zero
        0
    end
end

Il mio unit test è in test/unit/lib/my_lib

require 'test/unit'
require 'my_lib/my_class_to_test'

module MyLib
    class MyClassToTestTest < Test::Unit::TestCase
        def test_zero
            assert_equal(0, MyLib::get_zero)
        end
end
end

I test unitari vengono superati quando li eseguo con la riga di comando:

rake test:units

Per risparmiare tempo posso eseguire solo il mio unit test con questa riga di comando:

ruby -I"lib" test/unit/lib/my_lib/my_class_to_test_test.rb

Vorrei usare RubyTest con Sublime Text 2 ma quando lo uso (Maj + Ctrl + R) ottengo un errore:

test/unit/lib/my_lib/my_class_to_test_test.rb:3:in `require': no such file to load -- my_lib/my_class_to_test (LoadError)
    from test/unit/lib/my_lib/my_class_to_test_test.rb:3

In che modo RubyTest potrebbe caricare la directory lib nel percorso?

È stato utile?

Soluzione

Il file di configurazione di RubyTest in Sublime Text 2 è qui:

~ / .config / sublime-text-2 / Packages / RubyTest / RubyTest.sublime-settings

Ho aggiunto lib all'opzione -I nel ruby_unit_exec in questo modo:

"ruby_unit_exec": "ruby -Ilib:test"`

Il problema è stato risolto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top