답변:
좋은 질문!
사실, 파이썬 2.6, 모두 assertEqual
및 assertEquals
편의 별칭이다 failUnlessEqual
. 소스는 다음과 같이 선언합니다.
# Synonyms for assertion methods
assertEqual = assertEquals = failUnlessEqual
에서 파이썬 3 , 당신의 포인트로, failUnlessEqual
명시 적으로 사용되지 않습니다. assertEquals
이 의견을 수행 :-)
어설 션 방법의 동의어
# 복수는 문서화되어 있지 않습니다. 사용을 자제 할 수 있도록 보관하십시오.
# 더 추가하지 마십시오. 제거하지 마십시오.
# 이들에 대한 지원 중단주기를 거치는 것은 많은 사람들을 귀찮게 할 것입니다.
결론은 Python 2.x에 원하는 것을 사용해야하지만 assertEqual
Python 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
http://docs.python.org/library/unittest.html 에서 assertEquals에 대한 언급이 없습니다 . 그러나 TestCase를 가져온 다음 "help (TestCase)"를 수행하면 나열됩니다. 편의상 동의어 일 뿐이라고 생각합니다.
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
assertEquals
합니다. 그러나 문법적으로, equals 는 복수형이 아니라 단수형 (3 인칭) 동사의 형태입니다. 나는 당신이 주석 작성자의 의미를 정확하게 이해했다고 생각하지만 '복수'라는 단어는 잘못되었습니다.