创建被测试的文件 mathfunc.py
def add(a, b):
return a+b
def minus(a, b):
return a-b
def multi(a, b):
return a*b
def divide(a, b):
return a/b
创建测试的文件 mathfunc_test.py
# !/usr/bin/env python
# -*- coding:utf-8 -*-
import unittest
from mathfunc import *
class TestMathFunc(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("This setUpClass() method only called once.")
@classmethod
def tearDownClass(cls):
print("This tearDownClass() method only called once too.")
def setUp(self):
print("do something before test.Prepare environment.")
def tearDown(self):
print("do something after test.Clean up.")
def test_add(self):
print("add")
result=add(1,2)
self.assertEqual(3,result)
self.assertNotEqual(1,result)
def test_minus(self):
print("minus")
result=minus(2,1)
self.assertEqual(1,result)
def test_multi(self):
print("multi")
result=multi(2,3)
self.assertEqual(6,result)
@unittest.skip("don‘t run")
def test_divide(self):
print("devide")
result=divide(8,2)
self.assertEqual(4,result)
self.assertEqual(3,result)
if __name__ == ‘__main__‘:
unittest.main(verbosity=2)
执行测试 创建 mathfunc_testsuit.py 并生成htlm 报告
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import unittest
from mathfunc_test import TestMathFunc
from HTMLTestRunnerNew import HTMLTestRunner
import time
import os
if __name__ == ‘__main__‘:
suite=unittest.TestSuite()
# tests=[TestMathFunc("test_add"),TestMathFunc("test_minus")]
# suite.addTests(tests)
suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestMathFunc))
now = time.strftime(‘%Y-%m-%d %H-%M-%S‘)
print(now)
filename = open(os.getcwd() + ‘/testResult_report‘ + now + ‘.html‘, ‘wb‘)
runner = HTMLTestRunner(
stream=filename,
title=‘单元测试报告1‘,
description=‘单元测试报告描述‘,
tester=‘test001‘)
runner.run(suite)
# with open("mathlog.txt","a")as f:
# runner=unittest.TextTestRunner(stream=f,verbosity=2)
# runner.run(suite)
备注
生成html报告 的方法
转自 https://www.cnblogs.com/lizhe860/p/9041693.html
原文:https://www.cnblogs.com/gaoyuanyuan/p/9645965.html