“プログラマがバグを生むなら…テストを書くしかないじゃない!” とにかく、テストは書くしかない。書くしかないんだ。そう自分に言い聞かせても、実際に書こうとすると、テストするコードが依存しているオブジェクトが多くて書きにくい。そんなときは、本当のオブジェクトの代わりにモックオブジェクトを使ってテストする。 今回使ってみるのは Python のモックオブジェクトフレームワーク pymox さん。これは Java のモックオブジェクトフレームワーク EasyMock にインスパイアされたものらしい。使い方が似ている。 インストールは pip から。 $ pip install mox とりあえず以前書いた TCP サーバのプログラムのテストを書いてみる。 #!/usr/bin/env python # -*- coding: utf-8 -*- import unittest import mo