나는 codecademy를 시작한 이후로 운동에 대한 Ruby 연습을하고 있습니다. 그리고 설정은 동일한 폴더에 두 개의 파일이 있습니다 - hamming_test.rb 그 require_relative hamming.rb - 나는 멀리,하지만 더 멀리있어. hamming.rb에서 빈 메서드를 사용하여 빈 클래스를 설정했지만 hamming_test.rb가 실행되어 첫 번째 메서드 호출을하면 해당 행에 NoMethodError가 반환됩니다. 나는 그 코드가 괜찮다는 것을 의심하지 않는다. 그러나 문제는 내 컴퓨터 설정에 관한 것이다. TextEdit과 콘솔 및 NetBeans에서 실행하려고 시도했습니다. 동일한 오류가 발생했습니다. 나는 모든 종류의 것을 시도했지만, 항상 같은 오류가 있습니다. 그것은 인터프리터가 파일을 찾을 수는 있지만 내부에서 볼 수는없는 것과 같습니다. 요세미티를 실행하는 Mac이 있고 Ruby가 달리 실행되는 것처럼 보입니다. 나는 이것으로 문 밖으로 나올 수조차 없다. 제발 도와 줘. 코드는 아래의 경우에하는 데 도움이 :Ruby noob이 NoMethodError를 얻습니다.
hamming.rb :
class Hamming
def compute
end
end
hamming_test.rb :
require 'minitest/autorun'
begin
require_relative 'hamming'
rescue LoadError => e
puts "\n\n#{e.backtrace.first} #{e.message}"
puts DATA.read
exit 1
end
class HammingTest < MiniTest::Unit::TestCase
def test_no_difference_between_identical_strands
assert_equal 0, Hamming.compute('A', 'A')
end
def test_complete_hamming_distance_of_for_single_nucleotide_strand
skip
assert_equal 1, Hamming.compute('A','G')
end
def test_complete_hamming_distance_of_for_small_strand
skip
assert_equal 2, Hamming.compute('AG','CT')
end
def test_small_hamming_distance
skip
assert_equal 1, Hamming.compute('AT','CT')
end
def test_small_hamming_distance_in_longer_strand
skip
assert_equal 1, Hamming.compute('GGACG', 'GGTCG')
end
def test_ignores_extra_length_on_first_strand_when_longer
skip
assert_equal 1, Hamming.compute('AGAGACTTA', 'AAA')
end
def test_ignores_extra_length_on_other_strand_when_longer
skip
assert_equal 2, Hamming.compute('AGG', 'AAAACTGACCCACCCCAGG')
end
def test_large_hamming_distance
skip
assert_equal 4, Hamming.compute('GATACA', 'GCATAA')
end
def test_hamming_distance_in_very_long_strand
skip
assert_equal 9, Hamming.compute('GGACGGATTCTG', 'AGGACGGATTCT')
end
end
END
당신이있어 오류를하는 정확히 있어야합니다. 이것은 TDD (Test-Driven Development) (TDD) 프로세스의 첫 번째 단계입니다. 그것은하지 아직 존재하지라는 이름의 파일 bob.rb을 찾고
cannot load such file
오류의 가장 중요한 부분입니다.
오류를 수정하려면 bob_test.rb 파일과 동일한 디렉토리에 bob.rb 이라는 빈 파일을 만듭니다.
그런 다음 테스트를 다시 실행하십시오.
이 연습에서보다 많은 지침을 보려면 GETTING_STARTED.md를 참조하십시오.