2014-09-24 10 views
1
NoMethodError: undefined method `assert_true' 

루비에서 test-unit을 사용하여 테스트를 실행하는 중에 위 오류가 발생합니다.NoMethodError : 정의되지 않은 메소드`assert_true '

require 'test/unit' 

class Sample < Test::Unit::TestCase 

    def setup 
    # code block 
    end 

    def test_sample 
    assert_true("test"=="test") 
    end 

    def teardown 
    # code block 
    end 

end 

어떻게이 문제를 해결하기 위해 -이 : 테스트 단위 보석 및 레이크 버전은 아래

test-unit (2.5.5) 
rake (10.1.0) 

샘플 테스트 파일입니까?

+0

우리가 살펴볼 수있는 최소한의 예가 있습니까? – awendt

+0

@awendt 질문을 업데이트했습니다. – karan

+2

'require 'test/unit''는'test-unit' 젬의'test/unit' 라이브러리가 아닌'test/unit' 라이브러리를 표준 라이브러리에서 실제로로드하고있는 것처럼 보입니다. 테스트를 실행중인 Ruby 버전과 실제로'$ LOAD_PATH'에 보석이 설치되어 있는지 확인할 수 있습니까? –

답변

3

다음과 같은 방법으로 문제를 해결했습니다. 단언 문을 변경할 필요가 없습니다.

require 'rubygems' 
gem 'test-unit' 
require 'test/unit' 

class Sample < Test::Unit::TestCase 

    def setup 
    # code block 
    end 

    def test_sample 
    assert_true("test"=="test") 
    end 

    def teardown 
    # code block 
    end 

end 
0

1.9.2 이후로, test/unit은 minitest 주위의 래퍼이며 directly in the ruby source code으로 구현되었습니다. assert_true 메서드는 새로운 구현에 없으며 Simphone Brahan이 이미 제안한대로 assert을 대신 사용하십시오. 따라서보고 있던 보석 원재료가 더 이상 사용되지 않습니다. 현재 관련 문서는 here입니다.