我不确定如何进行单元测试删除方法。下面是我要测试的内容。
@app.route('/questions/<id>', methods=['DELETE'])
def delete(id):
question = Question.query.filter_by(id = id).first()
if not question:
abort(422)
try:
db.session.delete(question)
db.session.commit()
except:
db.session.rollback()
finally:
db.session.close()
return jsonify({
'success': True
})
我不知道如何测试,因为路由需要一个 ID,但如果我执行以下操作,我想它只会工作一次,因为它会在第一次测试中删除 id 5,但之后测试将尝试删除一个没有的 ID不再存在于数据库中。
def test_Delete(self):
res = self.client().delete('/questions/47')
data = json.loads(res.data)
self.assertEqual(res.status_code, 200)
self.assertEqual(data['success'],True)