Skip to main content
 首页 » 编程设计

python之web2py:创建传递参数的文档测试

2024年08月30日41Terrylee

希望是一个简单的问题,但文档或 web2py 书中似乎没有涉及...

我有一个看起来像这样的 web2py Controller 方法:

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)?

提前致谢

请您参考如下方法:

只需将所需的值放入 doctest 中的 request.vars 中:

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

为了获得正确的 doctest,您可以在 web2py shell 中尝试,您可以按如下方式启动:

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

这将在执行应用程序模型文件的环境中为您提供一个 Python shell(这就是 -M 选项的作用)。因为指定了 mycontroller,所以您还可以调用 mycontroller 中的任何函数。在 shell 中运行一些命令,然后将 session 粘贴到您的文档字符串中。