• unittest参数化(paramunittest)


    1、paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例

    2、实例代码

    注意这里接受参数的时候,必须要定义setParameters这个方法,并且只能是这个名称。

    括号后面的参数分别接受传入的参数名称。前面定义的是字典,那参数就跟前面字典的key保持一致

    import unittest
    import paramunittest
    import time
    
    @paramunittest.parametrized(
        {"username": "admin1", "psw": "1234", "result": "true"},
        {"username": "admin2", "psw": "4321", "result": "true"},
        {"username": "admin3", "psw": "1234", "result": "true"},
        {"username": "admin4", "psw": "5678", "result": "true"})
    
    class TestDemo(unittest.TestCase):
        def setParameters(self, username, psw, result):
            # user, psw, result三个参数和前面定义的字典一一对应
            self.user = username
            self.psw = psw
            self.result = result
    
        def testcase(self):
            print("开始执行用例:--------------")
            time.sleep(0.5)
            print("输入用户名:{}".format(self.user))
            print("输入密码:{}".format(self.psw))
            print("期望结果:{}".format(self.result))
            time.sleep(0.5)
            self.assertTrue(self.result == "true")
    if __name__ == "__main__":
        unittest.main(verbosity=2)  # 显示详细运行结果
    运行结果:

      开始执行用例:--------------
      testcase (paramunittest.TestDemo_0) ... 输入用户名:admin1
      输入密码:1234
      期望结果:true
      开始执行用例:--------------
      ok
      testcase (paramunittest.TestDemo_1) ... 输入用户名:admin2
      输入密码:4321
      期望结果:true
      ok
      testcase (paramunittest.TestDemo_2) ... 开始执行用例:--------------
      输入用户名:admin3
      输入密码:1234
      期望结果:true
      开始执行用例:--------------
      ok
      testcase (paramunittest.TestDemo_3) ... 输入用户名:admin4
      输入密码:5678
      期望结果:true
      ok

     

  • 相关阅读:
    HTTP协议
    在项目中使用模块
    将封装模块发布到NPM注册表
    package.json文件常用指令说明
    npm常用命令
    分享wifi热点
    Globals模块常用的方法和属性
    WebStorm2016.1.1永久破解
    Module
    解释器模式(Interpreter Pattern)
  • 原文地址:https://www.cnblogs.com/jialeliu/p/14115239.html
Copyright © 2020-2023  润新知