Rails: Code de test dans le répertoire Lib avec Rubytest avec sublime texte 2
-
28-10-2019 - |
Question
Je voudrais le code de test dans le répertoire Lib de Rails. J'utilise RubyTest pour travailler dans un texte sublime 2. Ma bibliothèque est dans lib/my_lib
.
module MyLib
def self.get_zero
0
end
end
Mon test unitaire est dans 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
Les tests unitaires passent lorsque je les exécute avec la ligne de commande:
rake test:units
Pour gagner du temps, je ne peux exécuter que mon test unitaire avec cette ligne de commande:
ruby -I"lib" test/unit/lib/my_lib/my_class_to_test_test.rb
Je voudrais utiliser RubyTest avec un texte sublime 2 mais quand je l'utilise (Maj + Ctrl + R), j'obtiens une erreur:
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
Comment RubyTest pourrait charger le répertoire Lib dans le chemin?
La solution
Le fichier de configuration de RubyTest dans Sublime Text 2 est ici:
~ / .config / sublime-text-2 / packages / rubytest / rubytest.sublime-settings
J'ai ajouté lib
au -I
option dans le ruby_unit_exec
comme ça:
"ruby_unit_exec": "ruby -Ilib:test"`
Le problème est résolu.