"""
定义待测试类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)