如何在flask / flask-restx中测试采用解析器输入的GET方法?

问题描述

我正在使用Flask-restx制作Flask应用程序,并通过request parsing从用户那里获取输入,如下所示:

from flask_restx import Resource,reqparse
from .services.calculator import DimensionCalculator
parser = reqparse.RequestParser()
parser.add_argument("dimensions",type=float,required=True,action='split',help="Dimensions of the rectangle (in meters)")
parser.add_argument("angle_inclination",action='append',help="Angle of inclination of the Dachfläche (Neigung)")
@ns.route("/output")
class UserOutput(Resource):
    @ns.expect(parser,validation=True)
    def get(self):
        args = parser.parse_args()
        return DimensionCalculator.inputs(**args)

其中ns是我定义的名称空间,DimensionCalculator.inputs的简化版本是:

class DimensionCalculator:
    def inputs(**user_input):
        installation_place = user_input['installation_place']
        num_rectangles = user_input['num_rectangles']
        dimensions = user_input['dimensions']
        angle_inclination = user_input['angle_inclination']
        alignment = user_input['alignment']
        direction = user_input['direction']
        vendor = user_input['vendor']
        output = {
                    "installation_place": installation_place,"num_rectangles": num_rectangles,"area_shape": area_shape,"vendor": vendor
                }
        return output

我正在使用pytest编写测试。我已经为所有类和方法编写了测试,而我唯一无法测试的是GET中定义的UserOutput方法。有没有办法测试GET方法?

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)