>  기사  >  Java  >  두 가지 서로 다른 버전의 AssertEquals() 비교

두 가지 서로 다른 버전의 AssertEquals() 비교

黄舟
黄舟원래의
2016-12-28 11:51:421777검색

assertEquals()의 두 가지 다른 버전 비교


JUnit과 TestNG에서 각각 AssertEquals()의 정의를 살펴보세요.

JUnit:

    static void assertEquals(Java.lang.Object expected, java.lang.Object actual)
    static void assertEquals(java.lang.String message, java.lang.Object expected, java.lang.Object actual)

TestNG:

 static void assertEquals(java.lang.Object actual, java.lang.Object expected)
     static void assertEquals(java.lang.Object actual, java.lang.Object expected, java.lang.String message)

각 매개변수의 유형을 무시하고 수행 고려하지 말고 세 매개변수의 실제, 예상, 메시지 순서를 다시 살펴보세요.

JUnit의 순서는 (메시지), 예상, 실제입니다.

TestNG의 순서는 실제, 예상, (메시지)입니다.

미묘한 차이점은 실제(실제 값)와 예상(예상 값)의 순서와 메시지(정보 텍스트)가 존재할 때 다른 두 매개변수에 대한 상대적인 위치입니다. JUnit에서는 메시지(존재하는 경우)가 우선하고 그 다음이 예상, 그 다음이 실제입니다. TestNG에서는 정반대로 실제가 우선하고 그 다음이 예상, 그 다음이 메시지입니다.

비교하면 TestNG의 AssertEquals() 정의가 소위 "사용자 친화성"이라고도 하는 인간의 사고 논리에 더 부합한다고 생각합니다. 물론 이것은 개인적인 의견이고 의견일 뿐입니다.

JUnit에서 AssertEquals()의 정의를 처음 봤을 때 왜 실제가 먼저이고 예상이 마지막이 아닌가? 오늘 처음으로 TestNG의 AssertEquals() 정의를 보았는데 갑자기 "모든 사람이 같은 것을 본다"는 느낌이 들었습니다. 물론 지금 이 이야기를 꺼내는 것은 나중에 생각나는 일처럼 느껴집니다.

이런 이유로 TestNG에 박수를 보냅니다!


위 내용은 두 가지 버전의assertEquals()를 비교한 내용입니다. 더 자세한 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.