python-unitest

1. 基础类

class MathMethod:

def __init__(self,a,b):
self.a = a
self.b = b

def add(self):
return self.a + self.b

def sub(self):
return self.a - self.b

def divide(self):
return self.a/self.b

def multi(self):
return self.a * self.b

2. 测试类

import unittest

from test01.class_math import MathMethod


class TestAddMethod(unittest.TestCase):
def test_add_two_positive(self):
res = MathMethod(1,1).add()
print("1+1的结果值:", res)

def test_add_two_zero(self):
res = MathMethod(0,0).add()
print("0+0的结果值:", res)

def test_add_two_negative(self):
res = MathMethod(-1,-1).add()
print("-1+ -1的结果值:", res)


class TestMuiltiMethod(unittest.TestCase):
def test_multi_two_positive(self):
res = MathMethod(1,1).multi()
print("1*1的结果值:", res)

def test_multi_two_zero(self):
res = MathMethod(0,0).multi()
print("0*0的结果值:", res)

def test_multi_two_negative(self):
res = MathMethod(-1,-1).multi()
print("-1* -1的结果值:", res)


if __name__ == '__main__':
unittest.main()

3.测试集

import unittest

from HTMLTestRunnerNew import HTMLTestRunnerNew
from test01.class_unitest import TestAddMethod
from test01 import class_unitest

suite = unittest.TestSuite()

# 方法一
# suite.addTest(TestAddMethod("test_add_two_zero"))
# suite.addTest(TestAddMethod("test_add_two_positive"))

# 方法二
loader = unittest.TestLoader()
#suite.addTest(loader.loadTestsFromTestCase(TestAddMethod))
# 方法三
suite.addTest(loader.loadTestsFromModule(class_unitest))


4.执行及测试报告

报告模板下载地址:

HTMLTestRunnerNew文件下载
链接:https://pan.baidu.com/s/1AVmXq1r_f8Xz8zSumPjWUw
提取码:gru7
 
代码:
from HTMLTestRunnerNew import HTMLTestRunnerNew
# runner=unittest.TextTestRunner()
# runner.run(suite)

# with open('text.txt','w+',encoding='utf-8') as file:
# runner = unittest.TextTestRunner(stream=file, descriptions=True, verbosity=1)
# runner.run(suite)

with open("test_report.html", 'wb') as file1:
runner = HTMLTestRunnerNew.HTMLTestRunner(stream=file1, verbosity=2,
title="单元测试报告",
description="第一份单元测试报告"
,tester="zh")
runner.run(suite)

# file1 = open("test_report.html", 'wb')
# runner = HTMLTestRunnerNew.HTMLTestRunner(stream=file1, verbosity=2,
# title="单元测试报告",
# description="第一份单元测试报告", )
#
# runner.run(suite)

 
 
posted @ 2022-03-29 13:43  狒狒桑  阅读(56)  评论(0)    收藏  举报