• Python之内置测试框架unittest


    Python内置单元测试框架unittest详细的说明请看官方文档 https://docs.python.org/zh-cn/3/library/unittest.html

    一、unittest属性

    unittest.TestCase:TestCase类,所有测试用例类继承的基本类。

    class BaiduTest(unittest.TestCase):

    unittest.main():使用她可以方便的将一个单元测试模块变为可直接运行的测试脚本,main()方法使用TestLoader类来搜索所有包含在该模块中以“test”命名开头的测试方法,并自动执行他们。执行方法的默认顺序是:根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0-9,A-Z,a-z。所以以A开头的测试用例方法会优先执行,以a开头会后执行。

    unittest.TestSuite():unittest框架的TestSuite()类是用来创建测试套件的。

    unittest.defaultTestLoader(): defaultTestLoader()类,通过该类下面的discover()方法可自动更具测试目录start_dir匹配查找测试用例文件(test*.py),并将查找到的测试用例组装到测试套件,因此可以直接通过run()方法执行discover。用法如下:

    discover=unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')

    unittest.skip():装饰器,当运行用例时,有些用例可能不想执行等,可用装饰器暂时屏蔽该条测试用例。一种常见的用法就是比如说想调试某一个测试用例,想先屏蔽其他用例就可以用装饰器屏蔽。

    @unittest.skip(reason): skip(reason)装饰器:无条件跳过装饰的测试,并说明跳过测试的原因。

    二、实际设计思路

    import requests
    import unittest


    class GcbLogin(unittest.TestCase):
    """登录接口测试"""
    def setUp(self):
    self.url = "登录接口地址"
    self.header = {
    "Content-type": "application/json;charset=UTF-8"
    }
    # print("setup")

    # 错误的账号
    def test_case01(self):
    params = {"username": "错误账号", "password": "密码", "isAutoLogin": "false"}
    response = requests.post ( self.url, headers=self.header, json=params, verify=False )
    r = response.json()
    self.assertIn("zqp",r['body'])

    # 正确的账号密码
    def test_case02(self):
    params = {"username": "正确账号", "password": "密码", "isAutoLogin": "false"}
    response = requests.post(self.url, headers=self.header, json=params, verify=False )
    r = response.json()
    self.assertIn("zqp",r['body']['employee']['employeeName'])

    def tearDown(self):
    print("结束")


    if __name__ == "__main__":
    unittest.main()
  • 相关阅读:
    API函数ShellExecute与ShellExecuteEx用法
    C#txt文本分割器
    Python异常处理
    python bs4解析网页时 bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to inst(转)
    gensim中TaggedDocument 怎么使用
    Python读取文件时出现UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position xx: 解决方案
    收集python2代码转python3遇到的问题
    互联网浪潮之下,聊聊 90 后所面临的困境
    互联网公司里都有哪些潜规则?
    大厂程序员的一天是如何度过的?
  • 原文地址:https://www.cnblogs.com/xiaobai-0713/p/12952577.html
Copyright © 2020-2023  润新知