您的位置:首页 > 编程语言 > Python开发

unittest单元测试框架运行流程解析

2016-04-10 23:44 573 查看
#-*-coding:utf-8-*-
"""
定义待测试类calculator.py
"""

class Count(object):

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

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


import calculator
import unittest
"""
编写单元测试代码test.py
"""
import calculator
import unittest

"""
1、关于unittest.TestCase类:
TestCase类的实例就是一个测试用例,包括测试环境的搭建(setUp),实现测试过程的代码run,
测试后环境的还原tearDown。
"""
class TestCount(unittest.TestCase):

def setUp(self):
print "Test start!"

def testAdd(self):
j = calculator.Count(2,10)
self.assertEqual(j.add(), 5)

def testMain1(self):
print "testMain1 Execute!"

def testMain2(self):
print "testMain2 Excute!"

def tearDown(self):
print "Test end!"

if __name__ == "__main__":
"""
2、关于unittest.main()方法:
1)是unittest模块的一个全局方法
2)main()方法s=使用TestLoader类来搜索所有包含在该模块中以"test"命名开头的方法,并自动执行它们
3)拥有多个test开头方法时执行的顺序为
setUp->testA->tearDown,setUp->testMain1->tearDown,
setUp->testMain2->tearDown。
"""

运行结果:
Test start!
FTest end!
Test start!
testMain1 Execute!
Test end!
Test start!
testMain2 Excute!
Test end!
..
======================================================================
FAIL: testAdd (__main__.TestCount)
----------------------------------------------------------------------
Traceback (most recent call last):
File "E:\JWorkPlace\PyTest\com\yinhan\UnitestDemo\test.py", line 23, in testAdd
self.assertEqual(j.add(), 5)
AssertionError: 12 != 5

----------------------------------------------------------------------
Ran 3 tests in 0.002s

FAILED (failures=1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息