2016-07-22 2 views
0

RSpec을 사용하여 연습하기 위해 Ruby에서 directed_graph 클래스를 만듭니다. 위의 오류가 계속 발생합니다 (13 행, "eql (0)"이있는 행).발생 : 구문 오류, 예상치 못한 tIDENTIFIER, 예상 keyword_end

나는이 RSpec 코드가 다른 RSpec 코드와 매우 비슷해 보이기 때문에이 오류를 이해하지 못한다.

require "directed_graph" 
include directed_graph 

describe directed_graph do 

    describe ".vertices" do 
     context "given an empty graph" do 
      it "returns an empty hash" do 
       g = directed_graph.new() 
       expect(g.vertices().length()).to() eql(0) 
      end 
     end 
    end 

end 

편집 : 나는 문제 (1) directed_graph 클래스이었다 믿고, 클래스는 대문자로 시작해야합니다 포함 ", (2) 당신이 쓰기 안하고 (그래서 DirectedGraph입니다 이름) "수업.

나는이 둘을 고쳤으며, 내 코드는 지금은 괜찮아 보인다. 나는 큰 것을 놓친 경우에 대비하여 여기를 남겨 둘 것입니다.

답변

0

나는 코드는 다음과 같이한다고 생각 :

require "directed_graph" 
include DirectedGraph 

describe DirectedGraph do 
    describe ".vertices" do 
    context "given an empty graph" do 
     it "returns an empty hash" do 
     expect(directed_graph.new.vertices.length).to eql(0) 
     end 
    end 
    end 
end 

날 이유를 설명하겠습니다. 첫 번째 포함은 일반적으로 클래스/모듈을 포함합니다. 루비의 클래스와 모듈은 이름의 각 부분에 대문자로 표시됩니다 (UpperCamelCase로도 알려짐). rspec에 클래스를 기술 할 때, UpperCamelCase도 사용해야합니다. 또한 코드를 좀 더 쉽게 읽을 수 있도록 정리했습니다. 함수를 나타내는 데 항상 ()이 필요하지는 않습니다. 함축되어 있습니다. 하지만 때로는 예를 들어 expect 기능이 필요한 경우가 있습니다.

관련 문제