2015-01-18 4 views
1

내 테스트가 실행되지 않는 이유를 잘 모르겠습니다. 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

'require'는 작업 디렉토리를 포함하지 않습니다. 아마도'require_relative'를 원할 것입니다. http://stackoverflow.com/q/3672586/1569 –

+0

고마워요! 도움이됩니다. – Kozmo101

답변

3

require_relative를 사용해보십시오. 이는 코드 라이브러리가있는 디렉토리 구조와 테스트/스펙이 위치한 디렉토리와 관련이있을 가능성이 큽니다. 나는 루비가 같은 디렉토리를 먼저 본 다음 쓰레기통으로가는 것을 확실히 알고있다.

별도의 폴더에이 파일이있는 경우 동일한 폴더에 파일을 추가하고 테스트를 실행 해보십시오. require_relative에 대한 자세한 내용을 보려면 here

알려주세요. 그렇지 않다면 디렉토리 트리와 파일 위치를 보여주십시오.

+0

완벽하게 작동합니다! 고맙습니다. – Kozmo101

관련 문제