2

簡単な質問だといいのですが、ドキュメントやweb2pyの本ではカバーされていないようです...

次のようなweb2pyコントローラーメソッドがあります。

def mymethod():
    '''
    doctests go here
    '''
    param1 = request.vars['param1']
    param2 = request.vars['param2']
    param3 = request.vars['param3']
    # Stuff happens...
    return dict(result=result)

ドキュメントに従って、パラメータがリクエスト変数として渡されます

(メソッド定義に沿って)doctestを作成して、次のような呼び出しの戻り値を評価する方法はありますmymethod(param1=9, param2='a', param3=3.7)か?

前もって感謝します

4

2 に答える 2

3

doctest 内の request.vars に目的の値を入れるだけです。

def mymethod():
    '''
    >>> request.vars.update(param1=9, param2='a', param3=3.7)
    >>> mymethod()
    [expected output of mymethod goes here]
    '''

doctest を正しく行うには、web2py シェルで遊んでみてください。これは次のように開始できます。

python web2py.py -S myapp/mycontroller -M -N

これにより、アプリケーションのモデル ファイルが実行された環境で Python シェルが提供されます (これが -M オプションの機能です)。mycontroller が指定されているため、mycontroller 内の任意の関数を呼び出すこともできます。シェルでいくつかのコマンドを実行し、セッションを docstring に貼り付けます。

于 2012-05-03T14:22:50.463 に答える