3 回答
TA贡献1785条经验 获得超8个赞
您可以强制Flask测试的get()调用使用HTTPS,如下所示:
response = self.app.get('/login', base_url='https://localhost')
assert(response.status_code == 200)
基础的Werkzeug使用base_url的附加内容来设置url方案(HTTP / HTTPS)。对于此类本地测试调用,不使用主机名,可以将其省略。您可以在此处找到base_url的代码文档中的basic。
TA贡献1789条经验 获得超8个赞
您是否看过烧瓶的单元测试?
设置代码后,您将获得以下内容
response = self.client.get(url)
self.assertEquals(response.status_code, 301)
self.assertEquals(resonse.text.find('https'), 0)
更新
似乎最好的方法是创建一个werkzeug环境。Flask使用werkzeug测试客户端。您可以在这里查看api 。快速入门(非常有用)在此处。
您会看到werkzeug有一个带有base_url的EnvironBuilder。也许可以模拟测试套件中的https环境。
TA贡献1820条经验 获得超2个赞
有一种甚至更简单的Flask方法,只需使用PREFERRED_URL_SCHEME
等于“ https”的配置参数即可。
您可以在这里找到它的定义。您可以在此处找到Flask在内部如何使用规则。您还可以在这里找到其用法。
添加回答
举报