希望这是一个简单的问题,但文档或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)
之类的调用的返回值?提前致谢
最佳答案
只需将所需的值放在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中的任何函数。在外壳中运行一些命令,然后将会话粘贴到您的文档字符串中。
关于python - web2py:创建传递参数的doctest,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10432488/