我有一个HTML模板,该模板提交包含用户选择结果的表单。此表单将发布到“ routes.py”中的python函数中,该函数会基于此选择的值添加到数据库中。我正在尝试对此功能进行单元测试,但是不知道如何在单元测试文件中发布表格。
以下是HTML模板中表单的相关部分:
<form method="POST" action="{{ url_for('select') }}">
<div class="info">
<div >
<div >
<span>Select a car</span>
<br/>
<br>
<select name="car_select">
{% for i in cars %}
<option>{{i}}</option>
{% endfor %}
</select>
</div>
<br><br>
<button type="submit" onclick="time()">Vote</button>
</div>
</form>
在“ routes.py”中,这是我功能的相关部分,我在以下位置运行单元测试:
@app.route("/select" , methods=['GET', 'POST'])
def select():
select = request.form.get('car_select')
这是我在单元测试中用来启动“选择”功能(INCORRECT)的辅助功能:
def select(self, car):
return self.app.post("/select", data=dict(car_select=car), follow_redirects = True)
我希望此Helper Function能够完成的工作是模拟HTML表单方法执行的POST,从而使“ request.form.get('car_select')”等于helper函数的“ car”参数。
答案 0 :(得分:-1)
您可以使用flask
的内置AudioData
:
app.test_client().post("/select", data=dict(car_select=car))