为什么我的测试不起作用?
Why isn't my test working?
我不太明白为什么我的测试没有 运行ning。如果我将它包含在 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
尝试使用 require_relative
。这很可能与您的代码库所在的目录结构以及您的 tests/specs 所在的目录结构有关。我很确定 ruby 首先查看同一目录,然后继续查看垃圾箱。
如果您将它们放在不同的文件夹中,请尝试将它们添加到同一文件夹中并 运行 进行测试。如果您想了解有关 require_relative 的更多信息,可以找到它 here
让我们知道它是否有效。如果没有,请向我们展示您的目录树和文件所在的位置。
我不太明白为什么我的测试没有 运行ning。如果我将它包含在 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
尝试使用 require_relative
。这很可能与您的代码库所在的目录结构以及您的 tests/specs 所在的目录结构有关。我很确定 ruby 首先查看同一目录,然后继续查看垃圾箱。
如果您将它们放在不同的文件夹中,请尝试将它们添加到同一文件夹中并 运行 进行测试。如果您想了解有关 require_relative 的更多信息,可以找到它 here
让我们知道它是否有效。如果没有,请向我们展示您的目录树和文件所在的位置。