python学习-unittest笔记

创建被测试的文件 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

 

posted @ 2018-09-14 13:13  studylady  阅读(218)  评论(0编辑  收藏  举报