python之单元测试unittest
阅读原文时间:2023年07月09日阅读:2

一、unittest主要内容

主要核心部分:test case, test suite, test runner, test fixture

二、实例

my_class.py文件如下:

class Father:
def add_Two(self,a,b):
print("******加法测试******")
print(a+b)
return a+b
def minus_Two(self,a,b):
return a-b

test_myclass.py文件如下:

import unittest
from My_Unittest.my_class import *
class TestMathfunc(unittest.TestCase):
def setUp(self):
print("******* test start ********")
print("==========这个py文件 每一个用例 的前期环境准备============")
self.f=Father()
pass
def tearDown(self):
print("******** test end *********")
print("==========这个py文件 每一个用例 的前期环境清理============")
# @classmethod
# def setUpClass(cls):
# print("==========这个py文件 所有用例 的前期环境准备============")
# @classmethod
# def tearDownClass(cls):
# print("==========这个py文件 所有用例 的前期环境清理============")
def test_addTwo(self):
# self.f.add_Two(9, 4)
sum= self.f.add_Two(3,6)
self.assertEqual(sum,9)
def test_addTwoFail(self):
# self.f.add_Two(9, 4)
sum = self.f.add_Two(3, 6)
self.assertEqual(sum, 8)
def test_minusTwo(self):
result = self.f.minus_Two(8,4)
self.assertEqual(result,4)

main.py文件如下:

import unittest
from My_Unittest.test_Myclass import TestMathfunc
#实例化
s = unittest.TestSuite()
# 添加一个测试用例----类.测试用例
# s.addTest(TestMathfunc("test_addTwo"))
# s.addTest(TestMathfunc("test_minusTwo"))

#添加多个测试用例
s.addTests([TestMathfunc("test_addTwo"),TestMathfunc("test_minusTwo"),TestMathfunc("test_addTwoFail")])

#运行
runner = unittest.TextTestRunner()
runner.run(s)

运行结果如图: