zoukankan      html  css  js  c++  java
  • Python-unittest参数化

    做接口测试的时候,同一个接口,输入的参数一样,参数值不一样,这时候,写多个case就是冗余的,就可以用参数化来实现,第三方模块有这个实现参数化的功能,安装pip  install nose-parameterized 即可

    import unittest,HTMLTestRunner
    from nose_parameterized import parameterized
    
    def login(username,passwd):
        if username=='niuhangyang'and passwd=='123456':
            return True
        return False
    class Login(unittest.TestCase):
        @parameterized.expand(
            [
                ('niuhangyang','123456',True),
                ('niuhangyang','',False),
                ('','', False),
                ('niuhangyang','123',False)
            ]
        )
        def test_login(self,username,passwd,hope):
            '''这是login'''
            res=login(username,passwd)
            self.assertEqual(res,hope)
    
    if __name__=='__main__':
        suite=unittest.TestSuite()#定义个空的测试集合
        suite.addTest(unittest.makeSuite(Login))#添加测试用例到集合中
        fw=open('login.html','wb')
        runner=HTMLTestRunner.HTMLTestRunner(stream=fw,title='登录case')#输入测试结果到html文件中
        runner.run(suite)#运行这个测试集合

    运行后会生成一个login.html文件,用浏览器打开可以查看测试结果

  • 相关阅读:
    UE4 Abc 批量导入
    UE4源码摘录(424)
    JZ10 矩形覆盖
    JZ27 字符串的排列
    JZ66 机器人的运动范围
    JZ65 矩阵中的路径
    JZ12 数值的整数次方
    JZ37 数字在升序数组中出现的次数
    JZ6 旋转数组的最小数字
    JZ67 剪绳子
  • 原文地址:https://www.cnblogs.com/niuniu2018/p/8080901.html
Copyright © 2011-2022 走看看