Qiita API の Python ライブラリを作った
GitHub - heavenshell/py-qiita: Python wrapper for Qiita API v1.
ドキュメントと Ruby や Perl のコードを見ながら作った。
コードや実際の API を叩いたテストコードは割とあっさりできて、一番時間が掛かったのが実際の API を叩いてたのをモック化した所。
Mock の patch を使って Requests のレスポンスを差し替えた。
Qiita のレスポンスは決して速くないので、モックに差し替えたら速度という意味では断然違う。
ただし全てモックに置き換えているので不安が無い事もない。
例えばレスポンスの JSON のフォーマットが変わったとかそういう場合。
普段は Mock を使っていて、テストランナーのオプションとかで patch デコレータを無効にしたりとか出来ないのかな。
わざわざモックとモックじゃない二つのテストを用意するのは面倒だし無駄な気がする。
こういう場合どうするのが王道なんだろうか。
PyPi 登録
今回ライブラリとして作ったからどうせなら PyPi に登録してみた。
登録は簡単にできたけど、long_description の reST がエラーになってハマった。
Sphinx や rst2html では問題なかったけど python setup.py -r check でエラーになった。
結局 Sphinx などでは問題なかった ..code:: python というようなディレクティブが NG だった。
Travis-CI
また CI に Travis-CI を使ってみた。
Python2.6 と 2.7 で設定したが何故か 2.6 の初回ビルドで依存ライブラリを自動でインストール箇所でタイムアウトになった。
適当に git push したら今度は通った。
まとめ
今までやった事ないのにチャレンジしてみて良かった。
やっぱり自分でやってみないと行けないというのを実感。