参数化:

import time
import list1 #想测试list1中的求和函数是否正确fun1
import paramunittest
import unittest #先设置参数组
@paramunittest.parametrized(
{'a':1,'b':1,'c':2}, #前两个是参数a,b,最后一个是真确值
{'a':1,'b':0,'c':1},
{'a':1,'b':0,'c':0} ) class Testfun(unittest.TestCase): def setParameters(self,a,b,c): #感觉就是初始化__init__
self.a = a
self.b = b
self.c = c
def testcase(self):
print('开始执行-----')
time.sleep(1)
print('a:%s'%self.a)
print('b:%s'%self.b)
print('c:%s'%self.c)
time.sleep(1)
self.assertEqual(list1.fun1(self.a,self.b),self.c) if __name__ =='__main__':
unittest.main(verbosity=2) #verbosity就是打印好看一些
结果

想要生成html文件
import os,unittest,HTMLTestRunner
#HTMLTestRunner 这个是py3的,https://www.cnblogs.com/testyao/p/5658200.html下载地址,放到LIb下面 # 用例路径
case_path = os.getcwd() #我的就在当前路径
print(case_path)
# 报告存放路径
report_path = os.getcwd() #存在当前路径 def all_case(): #这个函数用来获取当前路径所有的test开头的测试py文件,所有测试
discover = unittest.defaultTestLoader.discover(case_path,
pattern="test*.py",
top_level_dir=None)
print(discover)
return discover if __name__ == "__main__": # html报告文件路径
report_abspath = os.path.join(report_path, "result.html") #
fp = open(report_abspath, "wb")
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, #测试报告写入文件的存储区域
title='自动化测试报告,测试结果如下:',
description='用例执行情况:') # 调用all_case函数返回值
runner.run(all_case())
fp.close()

Python3.5-20190526-廖老师-自我笔记-单元测试-参数换-paramunittest的更多相关文章

  1. Python3.5-20190521-廖老师-自我笔记-单元测试

    执行结果

  2. Python3.5-20190518-廖老师-自我笔记-面向对象

    面向对象编程,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 把老师分为一类,把学生分为一类.具体到某一个学生就是  这类中的一个具体对象,对象的 ...

  3. Python3.5-20190519-廖老师-自我笔记-面向对象中slots变量--@property的使用

    python是动态语言,可以随时随地给实例对象添加属性和方法,但是我们想限制属性的名字,可以使用__slots__特殊变量来限制 使用__slots__要注意,__slots__定义的属性仅对当前类实 ...

  4. Python3.5-20190503-廖老师-自我笔记

    列表和元组 list1 = [1,4,6,788,345,757]            tuple1 =      (345,234,567,878)         切记你的变量名不能和  hel ...

  5. Python3.5-20190502-廖老师-自我笔记

    python的语法主要就是严格的缩进.一般缩进都是四个空格.以冒号结尾的(:)就意味着他后面有代码块.(js代码块使用{}抱起来的,我记得c语言也是,但是python就不需要,他只要严格缩进的就可以了 ...

  6. Python3.5-20190519-廖老师-自我笔记-获取对象信息

    总是优先使用isinstance()判断类型,可以将指定类型及其子类“一网打尽”. 如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象 ...

  7. Python3.5-20190518-廖老师-自我笔记-模块

    在Python中,一个.py文件就称之为一个模块(Module) 可以作为module的文件类型有".py".".pyo".".pyc".& ...

  8. Python3.5-20190516-廖老师-自我笔记-匿名函数-装饰器

    当函数很简单的时候采用匿名函数很方便.

  9. Python3.5-20190513-廖老师-自我笔记-函数式编程

    把复杂的任务拆成各个小的函数,通过函数的调用来完成任务.这就是面向过程编程. 高阶函数:就是让函数的参数能够接收别的函数.把函数作为参数传入到另一个函数. 函数名也是变量.和变量用法一样的,指向一个函 ...

随机推荐

  1. POJ 3660 Cow Contest ( 最短路松弛思想应用 && Floyd求传递闭包 )

    题意 : 给出 N 头奶牛在比赛的结果,问你最多的能根据给出结果确定其名次的奶牛头数.结果给出的形式为 A  B 代表在比赛当中 A 战胜了 B 分析 : 对于一头奶牛来说,如果我们能确定其他 N - ...

  2. 【Java】JSONObject学习

    介绍 JSONObject只是一种数据结构,可以理解为JSON格式的数据结构(key-value 结构),可以使用put方法给json对象添加元素.JSONObject可以很方便的转换成字符串,也可以 ...

  3. Getting Started Tutorial from msdn

    Getting Started Tutorial The topics contained in this section are intended to give you quick exposur ...

  4. mybatis 绑定 statement 失败

    错误信息:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 问题原因:编译时没有将mapp ...

  5. ruby file

    E:/AutoTHCN/lib/report/generate_report/web14/20190516/LoanTool.636936123857869205_190516_140514.xlsx ...

  6. 什么时候需要用的Vue.nextTick()

    什么时候需要用的Vue.nextTick() 你在Vue生命周期的created()钩子函数进行的DOM操作一定要放在Vue.nextTick()的回调函数中.原因是什么呢,原因是在created() ...

  7. idea中配置Resin运行环境

    文章目录 背景 下载resin 配置idea 背景 为了能够读Resin的源码,只看源码看不到值,故想在idea中通过断点查看. 下载resin https://caucho.com/products ...

  8. 第 13 章 python并发编程之io模型

    一.IO模型介绍 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问 ...

  9. 使用pycharm调试远程服务器上的程序

    一.PyCharm实现远程调试代码 1. 和远程服务器建立连接,tools àDeploymentàConfiguration 2. 点击“+”号,按照远程服务器信息配置信息 点击“Advanced ...

  10. vue 数组中嵌套的对象添加新属性--页面更新

    vue 数组中嵌套的对象添加新属性--页面更新:https://www.jianshu.com/p/8f0e5bb13735