noseとdoctestを同時に使う
noseでテストを実行するとき、doctestを同時に使うにはどうすればよいのでしょう?
noseのドキュメントを見ると、nosetests に --with-doctest コマンドライン引数を渡すと、
doctestもチェックしてくれるようです。
コマンドラインから実行するなら簡単です。
> nosetests spam.py --with-doctest
しかし、
if __name__ == "__main__": import nose nose.runmodule()
のように、モジュールを直接実行して、テストできるようにしたいです。
そして、nose.runmoduleには、argvという引数があります。
しかし!nose.runmodule(argv=["--with-doctest"])では、動かないようです。
何故なんでしょう?
わからないので、結局こうすることにしました。
def main(): from subprocess import call call(["nosetests", "--with-doctest", __file__])
無様ですけど、背に腹は代えられません。