patch
次のコードを実行したときの出力として、正しいものを1つ選べ。
import os
from unittest.mock import patch
with patch("os.getcwd", return_value="/x"):
print(os.getcwd())
- A
/x - B
現在の作業ディレクトリのパス
- C
None - D
getcwd
正解と解説を見る
正解:A
unittest.mock.patch は、名前を一時的に Mock などに置き換える。ブロックを抜けると元に戻る。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import os` | — |
| 2 | `from unittest.mock import patch` | — |
| 3 | `with patch("os.getcwd", return_value="/x"):` | — |
| 4 | `print(os.getcwd())` | — |
| 5 | `with patch("os.getcwd", return_value="/x"):` | — |
| 結果 | 実際の出力 | /x |
- A
正しい。
withブロックの中だけ、os.getcwdが偽物に置き換わる。 - B
誤り。
patchで置き換えられている。 - C
誤り。
return_valueを指定している。 - D
誤り。戻り値が出力される。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。