呼び出しの検証
次のコードを実行したときの出力として、正しいものを1つ選べ。
from unittest.mock import Mock
m = Mock()
m(1, a=2)
m.assert_called_once_with(1, a=2)
print(m.call_args)
- A
(1, 2) - B
None - C
AssertionErrorが発生する。 - 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) |
- A
誤り。
callオブジェクトで表示される。 - B
誤り。呼び出しが記録されている。
- C
誤り。期待どおりに呼ばれている。
- D
正しい。呼び出しの引数が記録される。
assert_called_once_withは、1 回だけ、その引数で呼ばれたことを確かめる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。