Python 模擬試験

Python実践 模擬試験 第3回 問37・16章 テスト(unittest.mock)

呼び出しの検証

次のコードを実行したときの出力として、正しいものを1つ選べ。

from unittest.mock import Mock
m = Mock()
m(1, a=2)
m.assert_called_once_with(1, a=2)
print(m.call_args)
  1. A

    (1, 2)

  2. B

    None

  3. C

    AssertionError が発生する。

  4. D

    call(1, a=2)

正解と解説を見る

正解:D

Mock は呼び出しの記録(call_args・call_count)を持ち、assert_called_with・assert_called_once_with などで検証できる。

順実行する行実行後の変数
1`from unittest.mock import Mock`—
2`m = Mock()`—
3`m(1, a=2)`—
4`m.assert_called_once_with(1, a=2)`—
5`print(m.call_args)`—
結果実際の出力call(1, a=2)

学習のポイント:期待とのずれは AssertionError になる。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。