import unittest 单元测试 app = Flask(__name__) -------------------------------------------- import unitest class TestClass(unittest.TestCase): #该方法会首先执行,相当于做测试前的准备工作 def setUp(self): pass #该方法会在测试代码执行完后执行,相当于做测试后的扫尾工作 def tearDown(self): pass #测试代码 def test_app_exists(self): pass def num_div(num1,num2): #assert 断言 后面是一个表达式 如果表示返回真,则断言成功,程序能够继续往下执行 #如果表达式返回假,则断言失败,assert会抛出异常AssertionError 终止程序继续往下执行 assert isinstance(num1,int) assert isinstance(num2,int) assert num2 != 0 print(num1 / num2) if __name__ == '__main__': num_div(100,10) # -*- coding: utf-8 -*- # @Time : 2019/2/18 20:31 # @Author : yanxiatingyu # @File : unittest_study.py # @Software: PyCharm import unittest from flask import Flask from flask import request from flask import jsonify app = Flask(__name__) @app.route('/') def index(): return 'test' @app.route('/login', methods=["POST"]) def login(): user_name = request.form.get("user_name") user_pwd = request.form.get("user_pwd") print(request.form) print(request.args) resp = '' if not all([user_name, user_pwd]): resp = { "code": 300, "message": "invalid params" } return jsonify(resp) if user_pwd == 'a' and user_name == 'a': resp = { "code": 200, "msessage": "login success" } else: resp = { "code": 300, "message": "login faild" } return jsonify(resp) if __name__ == '__main__': app.run(debug=True) import unittest from unittest_study import app import json class LoginTest(unittest.TestCase): """构造单元测试案例""" def test_empty_user_name_password(self): """测试用户名密码不完整的情况""" # 创建进行web请求的客户端,使用flask提供的 client = app.test_client() # 利用client客户端模拟发送web请求 ret = client.post("/login", data={ "user_name": "a", "user_pwd": "a" }) # ret 是视图返回的响应对象 # data 属性是响应体的数据 resp = ret.data # 因为login视图返回的json字符串 # resp = json.loads(resp) # 拿到返回值后进行断言测试 self.assertIn("code", resp) # code 是否 包含在resp里面 self.assertEqual(resp["code"], 200) if __name__ == '__main__': unittest.main() ------------------------------------------------- from flask_mail import Mail,Message # 配置邮件: 服务器 、 端口 、 传输层安全协议 、 邮箱名 、密码 app.config.update( DEBUG=True, MAIL_SERVER='smtp.qq.com', MAIL_PROT=465, MAIL_USE_TLS=True, MAIL_USERNAME='[email protected]', MAIL_PASSWORD='cyfgpsjasdqibaii' ) #//MAIL_PASSWORD 授权码 #IMAP/SMTP服务 (什么是 IMAP,它又是如何设置?) 开启QQ邮箱此服务 获取授权码 #由于QQ邮箱不支持非加密的协议,那么使用加密协议,分为两种加密协议,选择其中之一即可 #1.mail_use_tls 端口号是587 #2.mail_use_ssl 端口号是465 #我选择的mail_use_tls 协议,所以MAIL_USE_TLS设置为True,端口号587 mail = Mail(app) import json @app.route('/') def index(): try: # sender 发送方,recipients 接收方列表 msg = Message("This is a test !", sender='[email protected]', recipients=["[email protected]"]) # 邮箱内容 msg.body = "Flask test mail !" # 发送邮件 mail.send(msg) return json.dumps('send success !'), 200, { "Content-Type": "application/json" } except Exception as e: print(e) return json.dumps("send failed !"),200,{ "Content-Type":"application/json" }
Flask 单元测试 unittest
猜你喜欢
转载自www.cnblogs.com/yanxiatingyu/p/10399757.html
今日推荐
周排行