Standing on the Shoulder of Linus
現在地: / Home / 2011 / 4月 / 03 / web2pyでのテスト
印刷 メール ショートリンク

web2pyでのテスト

投稿者 mizuno 作成日 2011年4月3日 in web2py

pythonフレームワークでは、docttestを用いてコントローラのテストを行うことができます。

単純な例をあげてみます。

def index():
    """
    Test for Addition
    >>> request.vars.numbers = (2,3,5)
    >>> index()
    10
    """
    
    return sum(request.vars.numbers)

このように書いておき、web2py管理画面から編集=>テストと進むと、テストが実行されます。

ただし、doctest は実行結果を確認する、というテストなので、複雑なテストを書くには向いていません。

unittest を使用する場合は、python web2py.py -S アプリケーション名 -M -R テストコードのファイルを実行します。例えば、python web2py.py -S addition -M -R applications/addition/tests/test.pyのように書きます。テストファイルにちょっと追加が必要です。

import unittest
from gluon.globals import Request
execfile("applications/addition/controllers/default.py")

class TestAddition(unittest.TestCase):
       def setUp(self):
               request = Request()

       def testAdditin(self):
               request.vars["a"] = (2,3,5)
               self.assertEquals(10,index())

suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestAddition))
unittest.TextTestRunner(verbosity=2).run(suite)

一行目は、unittestモジュールの呼び出しです。二行目は、web2pyで使用するRequestを取得できるようにしています。三行目は、テストを実行する対象ファイルを指定します。四行目以降は、unittestを記述しています。

シェア: Mixx Delicious Digg Facebook Twitter
pythonテスト
返信をキャンセル
← 前へ 次へ →

良く見られている記事

  • キンドル本を印刷する(PDFに変換する)方法
  • 名古屋駅から国際センターまでの道のり
  • WordPress の更新にプラグインが追従しなかった場合の対処方法まとめ
  • twentytwelve の functions.php の日本語化
  • オープンソースのメリットデメリット

アーカイブ

最近の投稿

  • FuelPHP 1.6 翻訳ウィーク
  • casperjs を用いて Novius OS をインストールする
  • AGPL ライセンスについて
  • WordPress の更新にプラグインが追従しなかった場合の対処方法まとめ
  • Novius OS で A/B テスト
  • FuelPHP 勉強会 東海 vol.4 開催しました
  • 書評 「アメブロからWordPressへの移行方法」
  • Novius OS 言語/文字エンコーディング関連の問題
  • 言い値書店 アクセス解析と販売データ 2013年4月号
  • KDPノ全テを読んだ
  • 管理者紹介
  • オープンソースのメリットデメリット
  • wordbench
  • myplugin
  • Contact

Copyright © 2008-2013 Standing on the Shoulder of Linus. Powered by WordPress

ブログ、CMS構築はPHPでWEB作成