問題タブ [python-unittest.mock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
24863 参照

python - Python単体テスト:データベース操作を含むモジュールを単体テストする方法は?

実際のデータベースに接続するために pymysql クライアント ライブラリを使用しています。モジュールに関数があり、pymysql を使用してデータベースに接続し、データベース挿入操作のみを実行します。実際のデータベースにアクセスせずに Python でこの関数を単体テストするにはどうすればよいですか?

私のpythonバージョンは2.7です。

0 投票する
1 に答える
3666 参照

python - unittest.mock を使用して Python で SMTP クライアントにパッチを適用する

SMTP クライアント フォームの生成のモックを作成したいと考えていますsmtplib。次のコード:

戻り値

パッチが失敗したことを意味します。

編集:興味深いことに、ここで説明されているモンキーパッチは同じ結果をもたらします。

0 投票する
5 に答える
5910 参照

pytest - スノーフレーク接続のモック

SnowflakeConnection クラスのラッパーとして機能する Python の SnowflakeApi クラスがあります。私のSnowflakeApiは

SnowflakeApi の名前空間は connection.snowflake_connection.SnowflakeApi です (つまり、connections というフォルダーに snowflake_connection.py があります)

pytest と unittest.mock を使用して、このクラスの単体テストを作成したいと考えています。問題は、MagicMock オブジェクトが返され、データベース呼び出しが行われないように、'connect' をモックしたいことです。これまでのところ、私は試しました:

  1. monkeypatch.setattr(connections.snowflake_connection,"接続",return_value = "")
  2. 元のクラスを変更して、スノーフレークをインポートするだけにしました。次に、モック オブジェクトを作成し、monkeypatch.setattr(snowflake_connection,"snowflake",my_mock_snowflake) を使用しました。それもうまくいきませんでした

要するに、他にもいくつか試してみましたが、何もうまくいきませんでした。私がやりたいのは、スノーフレーク接続を模擬することだけなので、実際のデータベース呼び出しは行われません。