1

我想在 Rails 的 lib 目录中测试代码。我使用 RubyTest 在 Sublime Text 2 中工作。我的库位于lib/my_lib.

module MyLib
    def self.get_zero
        0
    end
end

我的单元测试在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

当我使用命令行运行单元测试时,它们会通过:

rake test:units

为了节省时间,我只能用这个命令行运行我的单元测试:

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

我想将 RubyTest 与 Sublime Text 2 一起使用,但是当我使用它时(Maj+Ctrl+R)我得到错误:

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

RubyTest 如何加载路径中的 lib 目录?

4

1 回答 1

2

Sublime Text 2 中 RubyTest 的配置文件在这里:

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

我添加了类似lib-I选项:ruby_unit_exec

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

问题已解决。

于 2012-03-13T16:59:23.900 回答