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文件,用浏览器打开可以查看测试结果

  • 相关阅读:
    docker
    电商项目查询模块思路(ElasticSearch)
    Elasticsearch简单的使用步骤以及查询模块的实现
    string常用方法
    通用 Mapper常用方法
    Linux防火墙操作
    简单SQL语句
    InnoDB基础
    浅析索引
    python爬虫面试题集锦及答案
  • 原文地址:https://www.cnblogs.com/niuniu2018/p/8080901.html
Copyright © 2011-2022 走看看