As a SW/Ops/DB Engineer

riywo’s technology memo

Python Mox Example

Pythonの小さいスクリプトを書いたんですが、せっかくなんでテストも書いてみようと思ってあがいたメモ。やりたかったのは、スクリプトの中で行ってるIO(ファイルとIPC)をテスト中は上書きして、テストデータを返す、みたいなこと。

初めはmockというのでやってたんですが、subprocess.Popen()がさらにメソッドを呼び出す形で使うのでどうやってやったらいいのか分からなくて、moxを使ってとりあえずできたのでそれを記録。

Example.run()は、ファイルを読み込んだ内容とコマンド実行結果をつなげて返すだけ。

もっとスマートなやり方やオススメもモジュールがあればぜひ教えてくださいませ〜

cf. python - Mocking open(file_name) in unit tests - Stack Overflow

Comments