유닛테스트시, Mock인스턴스에서 호출되는 메서드 모아보기

최대 1 분 소요

assert_has_calls

찾아보거나 알게된 배경

인스턴스에 엮여있는 메서드들에 대한 호출들을 모두 보고 싶었고, 찾아보니 나왔다


요약

아래처럼 쓰면 된다!

a = MagicMock()
a_child1 = MagicMock()
a_child2 = MagicMock()
a.child1 = a_child1
a.child2 = a_child2

a_child1("1")
a_child2(k="2")

# [call.child1("1"), call.child2(k="2")] 가 출력됨
a.calls()

a.assert_has_calls([call.child1("1"), call.child2(k="2")])

참고자료