码迷,mamicode.com
首页 > 其他好文 > 详细

UnitTest

时间:2020-03-14 00:39:01      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:condition   dna   assertion   Suite   级别   异常类   xtu   open   uil   

1. 实例化: suite = unittest.TestSuite()
(suite:为TestSuite实例化的名称)
2. 添加用例:suite.addTest(ClassName("MethodName"))
(ClassName:为类名;MethodName:为方法名)
3. 添加扩展:suite.addTest(unittest.makeSuite(ClassName))
(搜索指定ClassName内test开头的方法并添加到测试套件中)

说明:TextTestRunner是用来执行测试用例和测试套件的
使用:
1. 实例化: runner = unittest.TextTestRunner()
2. 执行: runner.run(suite) # suite:为测试套件名称

TestLoader
suite = unittest.TestLoader().discover(test_dir, pattern=‘test*.py‘)
自动搜索指定目录下指定开头的.py文件,并将查找到的测试用例组装到测试套件
test_dir: 为指定的测试用例的目录
pattern:为查找的.py文件的格式,默认为‘test*.py‘
 
runner与loader的区别
1. TestSuite需要手动添加测试用例(可以添加测试类,也可以添加测试类中某个测试方法)
2. TestLoader搜索指定目录下指定开头.py文件,并添加测试类中的所有的测试方法,不能指定添加测试方法;

Fixture控制级别:
1. 方法级别 setUp(self)  tearDown(self)
2. 类级别  setUpClass(cls):  tearDownClass(cls)
3. 模块级别 setUpModule() tearDownModule()
断言 self.assertEqual(3, num)  self.assertTrue(is_ok)
异常类 AssertionError raise
img_path = "./imgs/img{}.png".format(time.strftime("%Y%m%d-%H%M%S"))
参数化
@parameterized.expand(build_data)[(),()]
@unittest.skip(‘代码未完成‘) v>
@unittest.skipIf(condition, reason)
示例代码
import unittest
version = 35
class TestSkip(unittest.TestCase):
@unittest.skip("代码未完成")
@unittest.skipIf(version <= 30, "版本
 
path="./report/{}.html".format(time.strftime("%Y%m%d%H%M%S"))
suite = unittest.TestLoader().discover(start_dir="./case/",pattern="test*.py") 不知道为什么没用
suite = unittest.makeSuite(My)
with open(path,"wb") as f:
runner = HTMLTestRunner(stream=f,description="是描述",title="标题")
runner.run(suite)
 

UnitTest

标签:condition   dna   assertion   Suite   级别   异常类   xtu   open   uil   

原文地址:https://www.cnblogs.com/autointerface/p/12490148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!