码迷,mamicode.com
首页 > 编程语言 > 详细

day9-Python学习笔记(二十一)单元测试

时间:2018-03-08 02:58:15      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:jenkin   ddt   XML   efault   安装   htm   产生   测试用例   tca   

unittest 单元测试的一个框架
什么框架
一堆工具的集合。
TestCase
TestSuite 测试套件,多个用例在一起
TestLoader是用来加载TestCase到TestSuite中的
TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,
包括运行了多少测试用例,成功了多少,失败了多少等信息

1、用例必须以test开头
2、用例执行的顺序是安装字母排列的顺序来的

 

import unittest
import HTMLTestRunner
from BeautifulReport import BeautifulReport
def calc(x,y):
return x+y

class TestCalc(unittest.TestCase):
def test_pass_case(self):
‘‘‘这个通过的测试用例‘‘‘
print(‘这个通过用例‘)
res = calc(1,2)
self.assertEqual(3,res)
self.assertNotEqual(2,3)#返回的结果不一样

def setUp(self):
print(‘我是setUp。。‘)
#每个用例运行之前都会执行它
def tearDown(self):
#每个用用例运行完之后都会执行它
print(‘我是tearDown‘)

@classmethod
def setUpClass(cls):
print(‘我是setupClass‘)
#所有的用例执行之前执行一次

@classmethod
def tearDownClass(cls):
print(‘我是tearDownClass‘)
#所用的用例都运行完之后执行一次

def test_a(self):
‘‘‘这个普通的测试用例‘‘‘
print(‘a‘)

def test_fail_case(self):
‘‘‘这个是失败的测试用例‘‘‘
print(‘这个是失败的测试用例‘)
res = calc(9,8)
self.assertEqual(98,res)
def test_haha(self):
‘‘‘哈哈哈‘‘‘
self.assertEqual(1,2)

if __name__ ==‘__main__‘:
unittest.main() #他会帮你运行当前这个python里面所有的测试用例。
# suite = unittest.TestSuite()#定义一个测试套件
# # suite.addTest(TestCalc(‘test_pass_case‘))
# # suite.addTest(TestCalc(‘test_a‘))
# # suite.addTest(TestCalc(‘test_fail_case‘)) #单个添加用例的
# suite.addTests(unittest.makeSuite(TestCalc)) #这个类里面的所有测试用例
# # f = open(‘report.html‘,‘wb‘)#打开一个测试报告的文件
# # runner = HTMLTestRunner.HTMLTestRunner(stream=f,title=‘牛寒阳测试结果‘,
# # description=‘描述‘)
# # runner.run(suite) #运行 难看的报告
# result = BeautifulReport(suite)
# result.report(filename=‘牛寒阳测试报告‘, description=‘描述‘, log_path=‘.‘)


run_all_case.py
import unittest
from BeautifulReport import BeautifulReport
import xmlrunner

suite = unittest.TestSuite()
all_case = unittest.defaultTestLoader.discover(‘cases‘,‘test*.py‘)
#
# for case in all_case:
# suite.addTests(case)
[ suite.addTests(case) for case in all_case ] #和上面的注释代码是一样的
#result = BeautifulReport(suite)
#result.report(filename=‘很多测试用例.html‘,description=‘这个是描述‘,log_path=‘.‘)
runner = xmlrunner.XMLTestRunner(‘.‘) #这个是为了产生报告给Jenkins用
runner.run(suite) #运行用例


day9-Python学习笔记(二十一)单元测试

标签:jenkin   ddt   XML   efault   安装   htm   产生   测试用例   tca   

原文地址:https://www.cnblogs.com/flynn0825/p/8526009.html

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