MySQLを使用するアプリケーション用のunittestをいくつか書いてみたいと思います。しかし、私は本当のmysqlデータベースに接続するのではなく、SQLサーバーをまったく必要としない一時的なデータベースに接続したいのです。mysqlを使用するpythonアプリケーションをテストする
すべてのライブラリ(私はGoogleで何も見つかりませんでした)?どんなデザインパターン?私はまだ注入されたクラスをテストする必要があるので、DIPは機能しないことに注意してください。
MySQLを使用するアプリケーション用のunittestをいくつか書いてみたいと思います。しかし、私は本当のmysqlデータベースに接続するのではなく、SQLサーバーをまったく必要としない一時的なデータベースに接続したいのです。mysqlを使用するpythonアプリケーションをテストする
すべてのライブラリ(私はGoogleで何も見つかりませんでした)?どんなデザインパターン?私はまだ注入されたクラスをテストする必要があるので、DIPは機能しないことに注意してください。
これを行うには良い方法はありません。実際のMySQLサーバに対してクエリを実行したい場合は、そうでなければ、動作するかどうかわかりません。
ただし、プロダクションサーバーに対して実行する必要はありません。単体テストのデータベースを作成し、単体テストが実行されたらそれを分解するスクリプトがあります。そうすれば、静的なテストデータベースを維持する必要はありませんが、実際のサーバーに対してはまだテストが行われます。
私ではありません開始とMySQLのローカルインスタンスを移入(極めて軽量絶対に任意のSQLサーバーを必要とすることはできませんテスト)が、より広範な/綿密なテストのために、このような目的のためにpython-mockとmoxを使用しましたあまりにも悪い。
残念ながら、SQLiteのSQLダイアレクトとMySQLの違いは、方言の違いを隠すことができるORM(Django、SQLObject、SQLAlchemy、...)を使用していない限り、前者をテストに使用するのはやや難しいことです。
SQLシミュレータを備えたpypi.python.org/pypi/pg13を試してください。警告:私はそれを書きました。 – amwinter