2012-10-15 4 views
4

나는 scalatest에서 jUnit의 assertEquals과 비슷한 것을 사용하고 싶습니다.어설 션 스칼라 테에있는

프레임 워크가 프레임 워크를 구현합니까 아니면 assert을 제공합니까? jUnit 자체에서 assertEquals을 사용해야합니까? 테스트가 실패 할 때

답변

5

이보다 훨씬 더 나은 오류 메시지를 제공

class EqualsTest extends FunSuite { 
    test("equals") { 
    assert(1 === 1) 
    assert(2 === 2, "The reason is obvious") 
    } 
} 

주 삼중 등호의 사용 등과 같은 '어설'접근 있습니다 더블 같습니다. 또한 두 번째 경우는 테스트가 실패 할 경우 인쇄 힌트를 제공합니다. 그렇지 않으면 명백하지 않은 데이터 값을 포함하는 데이 방법을 사용하는 것이 가장 좋습니다. 루프를 사용하여 테스트하는 경우 루프 카운트.

그런 다음 ShouldMatchers가 쉽게 읽기 때문에 같은

class EqualsTest extends FunSuite with ShouldMatchers { 
    test("equals") { 
    1 should be (1) 
    } 
} 

으로이 종종 선호 접근이있다. 그러나 그것을 사용하는 법을 배우는 것은 조금 더 어렵습니다. API에는 몇 가지 구석이 있습니다. 그리고 당신은 힌트 설명을 넣을 수 없습니다.

0

ScalaTest의 가장 큰 장점 중 하나는 특정 방식 및 환경 설정에 가장 적합한 방식을 선택할 수 있다는 것입니다. 뿐만 아니라 이미받은 다른 답변의 방식으로,이 또한 (그리고 내 개인적인 취향) :

class EqualsTest extends FunSuite { 
    test("equals") { 
    expectResult(1) { 1 } 
    } 
} 

(즉 expectResult이 ScalaTest 1.x에서에 expect입니다 주).