programing tip

파이썬에서 assertEquals vs. assertEquals

itbloger 2020. 6. 4. 19:11
반응형

파이썬에서 assertEquals vs. assertEquals


파이썬 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)"를 수행하면 나열됩니다. 편의상 동의어 일 뿐이라고 생각합니다.


python 2.7에서 소스 코드를 열면 다음을 찾을 수 있습니다.

# 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

assertNotEquals = assertNotEqual
assertAlmostEquals = assertAlmostEqual
assertNotAlmostEquals = assertNotAlmostEqual
assert_ = assertTrue

또는 이것을 확인할 수 있습니다 : https://github.com/python/cpython/blob/e42b705188271da108de42b55d9344642170aa2b/Lib/lib2to3/fixes/fix_asserts.py

참고 URL : https://stackoverflow.com/questions/930995/assertequals-vs-assertequal-in-python

반응형