이 doctest 문제로 혼란스러워합니다.
from collections import namedtuple
Match = namedtuple('Match', ['token_string', 'normalised_token',
'brand_name', 'brand_id',
'score'])
def make_match(tokens, normalised, brand, score):
"""
Examples:
>>> make_match('Jack Jones','JackJones',('Jack Jones','X023'),0.6)==Match('Jack Jones','JackJones','Jack Jones','X023',0.6)
>>> True
>>> make_match('Jack Jones','JackJones',('Jack Jones','X023'),0.6)==('Jack Jones','JackJones','Jack Jones','X023',0.6)
>>> True
"""
return Match(token_string=tokens,
normalised_token=normalised,
brand_name=brand[0],
brand_id=brand[1],
score=score)
그리고 다음과 같은 테스트 실패가 발생했습니다.
Failed example:
make_match('Jack Jones','JackJones',('Jack Jones','X023'),0.6)==Match('Jack Jones','JackJones','Jack Jones','X023',0.6)
Expected nothing
Got:
True
**********************************************************************
File "utilization.py", line 15, in utilization.make_match
Failed example:
True
Expected nothing
Got:
True
**********************************************************************
1 items had failures:
4 of 4 in utilization.make_match
***Test Failed*** 4 failures.
이상합니다. 이미 "True"를 기대한다고 선언해야하지 않습니까?
감사합니다
테스트 케이스 형식이 올바르지 않습니다. 인터프리터에서 볼 수있는 것과 일치하지 않습니다. 예를 들어 다음 대신 :
>>> make_match('Jack Jones','JackJones',('Jack Jones','X023'),0.6)==Match('Jack Jones','JackJones','Jack Jones','X023',0.6)
>>> True
다음이 있어야합니다.
>>> make_match('Jack Jones','JackJones',('Jack Jones','X023'),0.6)==Match('Jack Jones','JackJones','Jack Jones','X023',0.6)
True
>>>
출력 에는 이 없습니다. 이것이 예상했던 두 가지 테스트 대신 네 가지 테스트를 보는 이유이기도합니다. True
이전 테스트의 예상 결과가 아닌 새로운 테스트로 해석되었습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다