2014-12-08 1 views
0

스칼라 JUnit에서 어떻게 메모리 참조 평등을 주장 할 수 있습니까?스칼라 JUnit assertSame

@Test def someTest() = { 
    obj1: MyClass = getObject() 
    obj2: MyClass = getObject() 
    assertSame(obj1, obj2) 
} 

이 두 객체의 메모리 참조를 비교하는 대신 MyClass 클래스의 equals() 메소드를 호출하지 않습니다 사용하는 것으로 보인다.

+1

이렇게하면됩니다. 그게 효과가 없다고 확신합니까? 'assertSame (128, 128)'은 무엇을합니까? – lmm

+0

여전히 Int 클래스의 equals 메서드를 호출합니다. 클래스의 equals() 메소드를 호출하지 않고 * 인스턴스의 메모리 참조를 확인하고 싶습니다. – terminex9

+1

이것을 어떻게 확인 하시겠습니까? – lmm

답변

1

나는 JUnit을하고 Scalatest을 고수하면서 좀 더 자세한 것을 사용할 수, he documentation for SUnit's Assert

assertEq(obj1, obj2) 

또는 t을 살펴, 당신은 assertEq을 찾고 생각합니다.()

assert(obj1 eq obj2, "Some meaningful message") 
+0

편집중인 코드베이스는 SUnit 대신 Scala에서 JUnit을 사용합니다. 테스트 스위트에서 둘 다 사용하거나 SUnit으로 완전히 전환 해보십시오. – terminex9

+0

@ terminex9는 단순한 Scalatest'assert (obj1 eq obj2, "객체 참조가 같지 않음")이 당신을 위해 일할 것입니까? – toniedzwiedz

+0

그것에 대해 생각하지 않았습니까! 그게 내가 원하는 것에 효과가있는 것 같아! – terminex9