2008-09-22

pythonのunitテストをnoseに置き換えてみる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
pythonではnoseというのをunitテストに使うとステキな気配を感じたので、noseを使ってみました。
しかし、いまいちまだ普通のpythonのunittestに比べてのステキっぷりを把握はできていないのですが、今後はnoseを使ってみることにしてみます。

unittestに比べて
assertEqual(a,b)
みたいに書かずに
assert a == b
と書けるのは直感的にわかりやすいなぁとは思うのですが、エラー発生時に渡されている値を確認するためにはnose.toolsのassert_equalを使った方がわかりやすいらしく、結局
assert_equal(a,b)
と書くとあまり違いがわからなかったりするのです。

あとnoseは基本的には、コマンドラインのツールのようでいろいろなオプションを起動時に渡せるようです。
コマンドラインを指定せずにプログラム内に実行の記述を直接するには

if __name__ == '__main__':
arg = ["dummy","-v"]
nose.main(argv=arg)

とかやると起動オプションを渡して実行することもできるようです。

参考にさせていただいたサイトは、
http://makunouchi.jp/zope3/7396323127
です。
コメントを投稿