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 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!