zoukankan      html  css  js  c++  java
  • unittests---参数化(paramunittest)

      前面介绍了unittests中的参数化库--ddt,今天介绍另外一种参数化库Parameterized。

    paramunittest

    1、通过pip的方法进行安装: pip install paramunittest 

    2、官方文档:https://pypi.python.org/pypi/ParamUnittest/

    3、源码地址:https://github.com/rik0/ParamUnittest

    这个时候安静还是要提下,如果不知道这个库是干什么的?那么我们就先去官方文档中看看,或者去看源码,这不好巧,源码中提到有使用场景以及用法

    这是安静截图的源码内容,大家可以去源码进行查看。从图中可以看到,介绍了两种方法,两种方法都可以使用,具体的要看大家喜欢哪一种

    小试牛刀

    数据以元祖的形式进行存放。通过parametrized方法进行添加参数

    # coding:utf-8
    import unittest
    import paramunittest
    # 参数位置
    
    @paramunittest.parametrized(
        ( "anjing", "test"),
        ("anjing1", "test"),
        ( "anjing2", "test"),
    )
    
    class TestDemo(unittest.TestCase):
        def setParameters(self, name, test):
            self.user = name
            self.pwd = test
    
        def testcase(self):
            print("用户名:%s" % self.user)
            print("密码:%s" % self.pwd)
    
    if __name__ == "__main__":
        unittest.main(verbosity=2)

    结果:

    testcase (paramunittest.TestDemo_0) ... ok
    用户名:anjing
    testcase (paramunittest.TestDemo_1) ... ok
    密码:test
    testcase (paramunittest.TestDemo_2) ... ok
    用户名:anjing1
    
    密码:test
    ----------------------------------------------------------------------
    用户名:anjing2
    Ran 3 tests in 0.000s
    密码:test
    
    OK

    我们从案例中可以看到参数不仅仅可以通过元祖的形式存放,也可以通过字典的形式

    注意:字典形式的参数需要下面我们要进行一一对应。

    # coding:utf-8
    import unittest
    import paramunittest
    # 参数位置
    
    @paramunittest.parametrized(
        {"user":'anjing',"pwd":"test"},
        {"user":'anjing1',"pwd":"test1"},
        {"user":'anjing2',"pwd":"test2"},
    )
    
    class TestDemo(unittest.TestCase):
        def setParameters(self, user, pwd):
            self.user = user
            self.pwd = pwd
    
        def testcase(self):
            print("用户名:%s" % self.user)
            print("密码:%s" % self.pwd)
    
    if __name__ == "__main__":
        unittest.main(verbosity=2)

    结果:

    用户名:anjing
    密码:test
    testcase (paramunittest.TestDemo_0) ... ok
    用户名:anjing1
    密码:test1
    testcase (paramunittest.TestDemo_1) ... ok
    用户名:anjing2
    testcase (paramunittest.TestDemo_2) ... ok
    密码:test2
    
    ----------------------------------------------------------------------
    Ran 3 tests in 0.000s
    
    OK

    嗯。。最近安静工作比较忙,更新可能会慢点,但是都是会持续更新的,安静也自己一点点学习,大家共同学习,共同进步

  • 相关阅读:
    20169203 2016-2017-2 《网络攻防实践》第七周学习总结
    20169203 2016-2017-2 《网络攻防实践》第六周学习总结
    20169203 2016-2017-2 《网络攻防实践》 第五周学习总结
    ubuntu hadoop环境搭建
    weka环境配置
    20169207 2016-2017-2 《网络攻防实践》课程总结
    20169207 2016-2017-2 《移动平台应用开发实践》第十四周作业
    20169207 2016-2017-2《网络攻防实践》第十四周作业
    20169207 2016-2017-2《移动平台开发应用实践》第十三周作业
    20169207《移动平台应用开发实践》2016-2017-2 第十二周作业
  • 原文地址:https://www.cnblogs.com/qican/p/13932303.html
Copyright © 2011-2022 走看看