如何使用带有cookie和数据的unittest模块制作假邮件请求?

时间:2016-03-23 06:50:00

标签: python flask

我有一个这样的端点: -

@app.route('/name', methods=['POST'])
@limiter.limit("2000/day;300/hour;5/minute", key_func = get_uid_from_request)
@authenticate
def post(user):

如何使用unittest模块制作假发帖请求?

2 个答案:

答案 0 :(得分:1)

好吧,你可以发一个实际的帖子请求

import requests

def test_post():
    resp = requests.post('http://localhost/name', 
                         data={'arg': 'value'}, 
                         cookies={'from-my': 'browser'})
    assert resp.status_code == 200

我建议使用py.test代替unittest,但是如果必须使用unittest

class TestPost(unittest.TestCase):

    def test_post(self):
        resp = requests.post('http://localhost/name')
        self.assertEqual(resp.status_code, 200)

答案 1 :(得分:0)

你可以像已经建议的那样做,并针对正在运行的测试实例进行验收测试。

您还可以查看Flasks文档以便在http://flask.pocoo.org/docs/0.10/testing/进行测试,该文档演示了如何进行单元测试,您可以在其中模拟传入的请求和测试结果。