[解決済み] インポートをモック化する方法
2022-05-08 03:18:05
質問
モジュール
A
が含まれます。
import B
を先頭にしています。しかし、テスト環境では、私は
模擬
B
で
A
(モック
A.B
をインポートすることは完全に控えてください。
B
.
実際には
B
は、あえてテスト環境にはインストールされていません。
A
はテスト中のユニットです。をインポートする必要があります。
A
を、そのすべての機能とともに使用します。
B
は、私がモックを作成する必要があるモジュールです。しかし、どのようにして
B
の中で
A
を停止し
A
をインポートすることで、本当の
B
は、もし、最初に
A
は、インポートする
B
?
(Bがインストールされていない理由は、私は迅速なテストのためにpypyを使用しており、残念ながらBはまだpypyと互換性がないためです)。
これはどうしたらいいのでしょうか?
どのように解決するのですか?
に割り当てることができます。
sys.modules['B']
をインポートする前に
A
を使えば、欲しいものが手に入ります。
test.py :
import sys
sys.modules['B'] = __import__('mock_B')
import A
print(A.B.__name__)
A.py :
import B
B.pyが存在しないことに注意してください。
test.py
はエラーを返さず
print(A.B.__name__)
を印刷します。
mock_B
. それでも
mock_B.py
をモックにした
B
の実際の関数/変数/その他。あるいは、単に
Mock()
を直接指定します。
test.py :
import sys
sys.modules['B'] = Mock()
import A
関連
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] フルパスでモジュールをインポートするには?
-
[解決済み] モックとスタブの違いは何ですか?
-
[解決済み] Mockitoでvoidメソッドをモックする方法
-
[解決済み] 他のPythonファイルをインポートするには?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
python string splicing.join()とsplitting.split()の説明
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Python百行で韓服サークルの画像クロールを実現する
-
Pythonの@decoratorsについてまとめてみました。
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")