을 구성하는 방법의 로거 출력의 하위 문자열을 주장 나는 예를 들어, 기록 된 뭔가를 주장하는 방법에 대한 많은 예를 발견했다 메시지가 생성 된 특정한 방법으로부터 단언. 이 테스트는 기록되는 특정 ID에만 관심이 있습니다.파이썬 - <a href="http://www.michaelpollmeier.com/python-mock-how-to-assert-a-substring-of-logger-output" rel="nofollow noreferrer">http://www.michaelpollmeier.com/python-mock-how-to-assert-a-substring-of-logger-output</a></p> <p>그러나 나는를 분리하는 방법을 모르는 관계없이 메시지가
테스트 코드
mock_logger.warn.assert_called_with(
all_match(
contains_string('user-id'),
contains_string('team-id')
)
)
(로거는 메시지 조립) 모두
생산 코드 1을 위해 일해야 :
logger.warn(
"Order for team %s and user %s could not be processed",
'team-id',
'user-id'
)
및
생산 코드 2 (우리가 조립을 메시지 및 예외 포함) :
logger.warn(
"Order for team {} and user {} could not be processed"
.format('team-id', 'user-id'),
ex
)
하지만 난이 인수를 캡처하거나 사용자 정의 로그 펜더를 설정하고 최종 메시지의 주장을 하나 생각하고 같이이 작동하지 않습니다. 내가 IDE에서 코드를 작성하지 않은으로
오타/잠재적 구문 오류를 무시하십시오