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オブジェクトが入っている.
これでテストが作れそうだ.