2012-11-03 2 views
-2

다음 코드는 클래스 TestSegment의 설정() 메소드이다자바의 JUnit 테스트

public void testGetSynapse() 
{ 
    assertEquals(
     this.activeSynapseObject, 
     this.segmentObject.getSynapse(inputSource11)); 
} 

:

this.inputSource11 = new InputCell(1, 1); 
    this.activeSynapseObject = new Synapse(this.inputSource11); 
    this.inputSource11.setActiveState(true); 
    this.segmentObject.addSynapse(this.activeSynapseObject); 

다음 TestSegment 라인 (95)에서 오류가

+2

당신이 실패의 원인이되는 생각 코드의 일부를 표시 할 수 있습니다 : 당신이 assertEquals() 아래와 같이 equals 메소드에 의존로 객체의 필드 값 방법을 비교 equals()을 정의하는 데 조언을 것? – DSF

+2

'TestSegment' 클래스의 95 행에 JUnit 어설 션이 있기 때문에이 오류가 발생합니다. 첨부 된 스크린 샷으로 결론 지을 수 있습니다. – Isaac

+0

당신의 주장문을 공유 할 수 있습니까? –

답변

1

내 생각 엔 두 개의 오브젝트를 어설 션에 넣었다는 것입니다. 그것들은 같은 값을 가지고 있지만 그것들은 다른 객체 인스턴스이다.

public static void assertEquals(String msg, Object obj1, Object obj2) { 
    if (obj1 == null && obj2 == null) { 
     return; 
    } 

    if (obj1 != null && obj1.equals(obj2)) { 
     return; 
    } 

    fail(msg + " expected=" + obj1 + " actual=" + obj2); 
} 
+0

최근 질문 업데이트 (r2) 이후에 가능합니다. 축하합니다. 귀하의 추측은 정확합니다 ;-) –