Python3.5-20190526-廖老师-自我笔记-单元测试-参数换-paramunittest
参数化:
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的更多相关文章
- Python3.5-20190521-廖老师-自我笔记-单元测试
执行结果
- Python3.5-20190518-廖老师-自我笔记-面向对象
面向对象编程,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 把老师分为一类,把学生分为一类.具体到某一个学生就是 这类中的一个具体对象,对象的 ...
- Python3.5-20190519-廖老师-自我笔记-面向对象中slots变量--@property的使用
python是动态语言,可以随时随地给实例对象添加属性和方法,但是我们想限制属性的名字,可以使用__slots__特殊变量来限制 使用__slots__要注意,__slots__定义的属性仅对当前类实 ...
- Python3.5-20190503-廖老师-自我笔记
列表和元组 list1 = [1,4,6,788,345,757] tuple1 = (345,234,567,878) 切记你的变量名不能和 hel ...
- Python3.5-20190502-廖老师-自我笔记
python的语法主要就是严格的缩进.一般缩进都是四个空格.以冒号结尾的(:)就意味着他后面有代码块.(js代码块使用{}抱起来的,我记得c语言也是,但是python就不需要,他只要严格缩进的就可以了 ...
- Python3.5-20190519-廖老师-自我笔记-获取对象信息
总是优先使用isinstance()判断类型,可以将指定类型及其子类“一网打尽”. 如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象 ...
- Python3.5-20190518-廖老师-自我笔记-模块
在Python中,一个.py文件就称之为一个模块(Module) 可以作为module的文件类型有".py".".pyo".".pyc".& ...
- Python3.5-20190516-廖老师-自我笔记-匿名函数-装饰器
当函数很简单的时候采用匿名函数很方便.
- Python3.5-20190513-廖老师-自我笔记-函数式编程
把复杂的任务拆成各个小的函数,通过函数的调用来完成任务.这就是面向过程编程. 高阶函数:就是让函数的参数能够接收别的函数.把函数作为参数传入到另一个函数. 函数名也是变量.和变量用法一样的,指向一个函 ...
随机推荐
- POJ 3660 Cow Contest ( 最短路松弛思想应用 && Floyd求传递闭包 )
题意 : 给出 N 头奶牛在比赛的结果,问你最多的能根据给出结果确定其名次的奶牛头数.结果给出的形式为 A B 代表在比赛当中 A 战胜了 B 分析 : 对于一头奶牛来说,如果我们能确定其他 N - ...
- 【Java】JSONObject学习
介绍 JSONObject只是一种数据结构,可以理解为JSON格式的数据结构(key-value 结构),可以使用put方法给json对象添加元素.JSONObject可以很方便的转换成字符串,也可以 ...
- Getting Started Tutorial from msdn
Getting Started Tutorial The topics contained in this section are intended to give you quick exposur ...
- mybatis 绑定 statement 失败
错误信息:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 问题原因:编译时没有将mapp ...
- ruby file
E:/AutoTHCN/lib/report/generate_report/web14/20190516/LoanTool.636936123857869205_190516_140514.xlsx ...
- 什么时候需要用的Vue.nextTick()
什么时候需要用的Vue.nextTick() 你在Vue生命周期的created()钩子函数进行的DOM操作一定要放在Vue.nextTick()的回调函数中.原因是什么呢,原因是在created() ...
- idea中配置Resin运行环境
文章目录 背景 下载resin 配置idea 背景 为了能够读Resin的源码,只看源码看不到值,故想在idea中通过断点查看. 下载resin https://caucho.com/products ...
- 第 13 章 python并发编程之io模型
一.IO模型介绍 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问 ...
- 使用pycharm调试远程服务器上的程序
一.PyCharm实现远程调试代码 1. 和远程服务器建立连接,tools àDeploymentàConfiguration 2. 点击“+”号,按照远程服务器信息配置信息 点击“Advanced ...
- vue 数组中嵌套的对象添加新属性--页面更新
vue 数组中嵌套的对象添加新属性--页面更新:https://www.jianshu.com/p/8f0e5bb13735