nose-gaeを使うためのまとめ

随時追記しながら.

easy_install-2.5で
nose
nosegae
webtest
をする.

gaeのデフォルトのmain.pyの下の方をこんな感じに書き換える.
main()の中身を分けてapplication()と半分こにした感じ.

main.py

def application():
  return webapp.WSGIApplication([('/', MainHandler)],
                                        debug=True)

def main():
  util.run_wsgi_app(application())


if __name__ == '__main__':
  main()

テストコードはこんな感じ.

test.py

from webtest import TestApp
from main import application
from nose.tools import *

app = TestApp(application())

def test_index():
  response = app.get('/')
  ok_(True)
  #assert 'Hello world!' in str(response)

ok_はnose.toolsに入っているやつ.

実行するときは,

[kinukawa@kinukawa-mac] # nosetests -v --with-gae

みたいにする.
gae-lib-rootを指定する説もある.

[kinukawa@kinukawa-mac] # nosetests -v --with-gae --gae-lib-root="/usr/local/google_appengine"

続き.
結局,UserAPI使うところでどうすればいいかわからなくなった.
こちらのページを参考に,
単体テストのベースクラスを作成した.
作ったベースクラスを継承したクラス内では,users変数にUserオブジェクトが入っている.
これでテストが作れそうだ.