[python] 파이썬에서 assertEquals vs. assertEqual

파이썬 assertEqualsassertEqual파이썬에 차이점이 있습니까?unittest.TestCase 있습니까?

그리고 없다면, 왜 두 가지 기능이 있습니까? 편의를 위해서만?



답변

좋은 질문!

사실, 파이썬 2.6, 모두 assertEqualassertEquals편의 별칭이다 failUnlessEqual. 소스는 다음과 같이 선언합니다.

 # Synonyms for assertion methods
 assertEqual = assertEquals = failUnlessEqual

에서 파이썬 3 , 당신의 포인트로, failUnlessEqual명시 적으로 사용되지 않습니다. assertEquals이 의견을 수행 🙂

어설 션 방법의 동의어

# 복수는 문서화되어 있지 않습니다. 사용을 자제 할 수 있도록 보관하십시오.

# 더 추가하지 마십시오. 제거하지 마십시오.

# 이들에 대한 지원 중단주기를 거치는 것은 많은 사람들을 귀찮게 할 것입니다.

결론은 Python 2.x에 원하는 것을 사용해야하지만 assertEqualPython 3에 대한 경향이 있다는 것 입니다.


답변

3.3 업데이트 : 26.3.7.1.1 부터 . 더 이상 사용되지 않는 별칭 :

역사적인 이유로 일부 TestCase 메소드에는 더 이상 사용되지 않는 하나 이상의 별명이 있습니다. 다음 표는 더 이상 사용되지 않는 별명과 함께 올바른 이름을 나열합니다.

Method Name   | Deprecated alias | Deprecated alias
--------------+------------------+-----------------
assertEqual() | failUnlessEqual  | assertEquals
...


답변

Python 2.7 assertEquals은 더 이상 사용되지 않으므로 Python 3.x 뿐만 아니라 다음과 같습니다.

Method Name            | Deprecated alias(es)
_________________________________________________________
assertEqual()          | failUnlessEqual, assertEquals

에서 25.3.7.1.1. 더 이상 사용되지 않는 별칭


답변

나는 이것이 “전체적인 코드 흐름을 의미 적으로 만드는 별명”과 “별명 한 방법”사이의 긴장이라고 생각한다. 개인적으로 나는 읽고 싶은 것을 발견했다

failIf(some_condition)

위에

assertFalse(some_condition)

하지만 좋아

assertEqual(a, b)

다른 두 개 ( assertEquals(a, b)내 문법 감각을 방해).

앞으로는 “한 가지 확실한 방법”이 우선합니다.


답변

http://docs.python.org/library/unittest.html 에서 assertEquals에 대한 언급이 없습니다 . 그러나 TestCase를 가져온 다음 “help (TestCase)”를 수행하면 나열됩니다. 편의상 동의어 일 뿐이라고 생각합니다.


답변

특정 질문에 대한 답변이 아니라는 것을 알고 있지만 검색하는 동안 여기에 있다면

using deprecated method assertEquals()

호출을 .assertEqual ()로 변경하면됩니다 (equals에서 ‘s’를 제거하십시오)


답변

assertEquals가 필요하다는 점을 제외하면 거의 동일합니다. 다음과 같이 assertEqual을 사용하는 것이 좋습니다.

# Synonyms for assertion methods
# The plurals are undocumented.  Keep them that way to discourage use.
# Do not add more.  Do not remove.
# Going through a deprecation cycle on these would annoy many people.


      assertEquals = assertEqual

온라인 소스 : https://github.com/python/cpython/blob/e42b705188271da108de42b55d9344642170aa2b/Lib/lib2to3/fixes/fix_asserts.py