unittest初体验

count.py

#!/usr/bin/env python 
# -*- coding:utf-8 -*-

'''
Author:qin
Date:2018/11/08
Describe:简单计算器+、-
'''

class Calculator():
    def __init__(self,a,b):
        self.a = int(a)
        self.b = int(b)

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

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

test_count.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import unittest
import HTMLTestRunner
from testforunittest.count import Calculator


class CountTest(unittest.TestCase):
    def setUp(self):
        self.cal = Calculator(8,4)

    def tearDown(self):
        pass

    def test_add(self):
        result = self.cal.add()
        self.assertEqual(result,12)


    def test_sub(self):
        result = self.cal.sub()
        self.assertEqual(result, 4)

if __name__=="__main__":
    #构造测试集
    suit = unittest.TestSuite()
    suit.addTest(CountTest("test_add"))
    suit.addTest(CountTest("test_sub"))
    #执行测试
    fp = open('./result.html','wb')
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'<project name>test report',description=u'describe...')
    #runner = unittest.TextTestRunner
    runner.run(suit)
    fp.close()

setUp()和 tearDown()在单元测试框架中比较特别,它们分别在每一个测试用例的开始和结束执行。setUp()方法用于测试用例执行前的初始化工作,例如初始化变量、生成数据库测试数据、打开浏览器等。tearDown()方法与 setUp()方法相呼应,用于测试用例执行之后的善后工作,例如清除数据库测试数据、关闭文件、关闭 浏览器等。

unittest 要求测试方法必须以“test”开头。例如,test_add、test_sub 等。
接下来,调用 unittest.TestSuite()类中的 addTest()方法向测试套件中添加测试用例。简单的可以将测试套件理解成运行测试用例的集合。

通过 unittest.TextTestRunner()类中的 run()方法运行测试套件中的测试用例。

如果想默认运行当前测试文件下的所有测试用例,可以直接使用 unittest.main()方法。那么 main()方法在 查找测试用例时按照两个规则。首先,该测试类必须继承 unittest.TestCase 类;其次,该测试类下面的方法必 须以“test”开头。

这里使用HTMLTestRunner,来源:https://github.com/defnngj/HTMLTestRunner。将HTMLTestRunner.py文件复制到工程目录下,如果对html中的显示效果不满意,也可修改成文件。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值