zoukankan      html  css  js  c++  java
  • python自动化基础(参数化)

    一、创建加法类

    #定义一个数学加法类
    class Mathmethod():
        def add(self,a,b):
            return(a+b)
        def sub(self,a,b):
            return(a-b)

     二、创建测试用例,并进行参数化

    import unittest
    from HTMLTestRunner import HTMLTestRunner
    from requesttest.math1.Mathmethod import Mathmethod  # 引入Mathmethod模块
    #import HTMLTestRunnerNew
    
    class TestMathmethod(unittest.TestCase):
        #超继承(既有父类的特性,又有自己的新特性)
        #子类有跟父类相同的特性,就会覆盖父类的特性  重写
        def __init__(self,methodName,a,b,excepted):
            super(TestMathmethod,self).__init__(methodName)#超继承父类的初始化函数
            self.a=a
            self.b=b
            self.excepted=excepted
    
        def test_method_add(self):
            res=Mathmethod().add(self.a,self.b)
            print('两个数值相加结果是',res)
            self.assertEqual(self.excepted,res)

    三、生成测试报告

    (1)用列表的形式引入测试数据并生成测试报告

    import unittest
    from HTMLTestRunner import HTMLTestRunner
    from requesttest.math1.TestMathmethod import TestMathmethod
    
    test_data=[[0,0,0],[1,2,3],[-1,5,4],[1,-3,-2],[-1,-1,-2]]#列表嵌套,二位列表
    testunit=unittest.TestSuite()#生成单元测试流程
    for data in test_data:
        testunit.addTest(TestMathmethod("test_method_add",data[0],data[1],data[2]))#加载测试用例
    fp=open('D:\test\unittest1.html','wb')#创建测试报告,以写的方式存入某个路径
    runner=HTMLTestRunner(
        stream=fp,
        title="加法测试",
        description="用例执行情况:"
        )
    runner.run(testunit)
    fp.close()

    (2)用读取TXT文本的方式传入测试数据,形成测试报告

  • 相关阅读:
    checkbox判断选中的三种方法
    bzoj 4031: [HEOI2015]小Z的房间
    bzoj 5056: OI游戏
    Hdoj 5181 numbers
    Loj #6164. 「美团 CodeM 初赛 Round A」数列互质
    Codeforces 869 C The Intriguing Obsession
    Loj #6142. 「2017 山东三轮集训 Day6」A
    bzoj 3714: [PA2014]Kuglarz
    Loj #6185. 烷基计数
    [HNOI2008]水平可见直线
  • 原文地址:https://www.cnblogs.com/jingdenghuakai/p/11801533.html
Copyright © 2011-2022 走看看