Unittest断言使用

py文件01
import unittest
# 自己定义的函数
def my_sum(a, b):
a += 1
b += 2
return a + b
# 测试用例
class TestSum(unittest.TestCase):
def test_001(self):
number = my_sum(3, 4)
self.assertEqual(number,10)
def test_002(self):
number = my_sum(-3, 4)
self.assertEqual(number, 4)
def test_003(self):
number = my_sum(-1, -4)
self.assertEqual(number, -3)
def test_004(self):
number = my_sum(0, 4)
self.assertEqual(number, 7)
py文件02
from xie.goods.unittest3 import TestSum
import unittest
# 生成套件对象
suite= unittest.TestSuite()
#执行整个套件
suite.addTest(unittest.makeSuite(TestSum))
runner = unittest.TextTestRunner()
runner.run(suite)
结果:

参数化

需要下载:pip install parameterized
py文件1:
# 导包
import unittest
from parameterized import parameterized
# 自己定义的函数
def my_sum(a, b):
a += 1
b += 2
return a + b
# 测试用例
class TestSum(unittest.TestCase):
@parameterized.expand([(1,1,5),(-1,0,2),(-10,-5,-12)])
def test_001(self,x,y,z):
number = my_sum(x, y)
self.assertEqual(number,z)
py文件2:
from xie.goods.unittest3 import TestSum
import unittest
# 生成套件对象
suite= unittest.TestSuite()
#执行整个套件
suite.addTest(unittest.makeSuite(TestSum))
runner = unittest.TextTestRunner()
runner.run(suite)
生成自动化测试报告:在文件中找到HTMLTestRunner
py文件1:
# 导包
import unittest
from parameterized import parameterized
# 自己定义的函数
def my_sum(a, b):
a += 1
b += 2
return a + b
# 测试用例
class TestSum(unittest.TestCase):
@parameterized.expand([(1,1,5),(-1,0,2),(-10,-5,-12)])
def test_001(self,x,y,z):
number = my_sum(x, y)
self.assertEqual(number,z)
py文件2:
from xie.goods.unittest3 import TestSum
import unittest
from xie.goods.HTMLTestRunner import HTMLTestRunner
# 生成套件对象
suite= unittest.TestSuite()
#执行整个套件
suite.addTest(unittest.makeSuite(TestSum))
#打开文件
f = open("test01.html","wb")
#创建Runner对象
runner = HTMLTestRunner(stream=f,title="自动化测试报告",description="Chrome 浏览器")
runner.run(suite)
f.close()
xie
浙公网安备 33010602011771号