我不太明白为什么我的测试没有运行。如果我将它包含在calc.rb文件中,它就可以工作。但是,当我拆分测试并尝试在test_calc.rb中运行它时,文件不会运行。我收到以下错误:
/.rvm/rubies/ruby-2.1.4/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from test_fall.rb:6:in `<class:TestAdd>'
from test_fall.rb:4:in `<main>'
我不太明白为什么要查看2.1.4目录中的文件。
calc.rb
class Calc
def add(a, b)
a + b
end
end
test_calc.rb
require 'calc.rb'
require 'minitest/autorun'
class TestAdd < Minitest::Test
def test_add
calc = Calc.new
expected = calc.add 3,2
assert_equal expected, 5
end
def test_add_bigint
calc = Calc.new
val = calc.add 10000000, 10000000
assert_equal val, 20000000
end
end
答案 0 :(得分:3)
尝试使用require_relative
。这很可能与您的代码库所在的目录结构以及测试/规范所在的位置有关。我非常确定ruby首先查看同一目录,然后继续进入垃圾箱。
如果您将这些文件夹放在不同的文件夹中,请尝试将它们添加到同一文件夹并运行测试。如果您想了解有关require_relative的更多信息,可以找到它here
让我们知道它是否有效。如果没有,请向我们展示您的目录树以及文件所在的位置。