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

Python Unittest 自动化单元测试框架Demo

2016-11-18 13:28 921 查看
该文转载自:Python Unittest 自动化单元测试框架Demo

1.unittest简单的domo

# coding:utf-8
import unittest
class MyTestCase(unittest.TestCase):
# 测试用例前执行
def setUp(self):
pass
# 测试用例后执行
def tearDown(self):
pass
# 测试用例1
def test_Case1(self):
print 'Case1'
if __name__=='__main__':
unitest.main()

2.使用suite来管理多个case

# coding:utf-8
import unittest
class MyTestCase(unittest.TestCase):
# 测试用例前执行
def setUp(self):
pass
# 测试用例后执行
def tearDown(self):
pass
# 测试用例1
def test_Case1(self):
print 'Case1'
# 测试用例2
def test_Case2(self):
print 'Case2'

def suite_test1():
# 构造测试集
suite = unittest.TestSuite()
# 添加Case
suite.addTest(MyTestCase('test_Case1'))
suite.addTest(MyTestCase('test_Case2'))
return suite

if __name__=='__main__':
unittest.main(defaultTest='suite_test1')

3.Suite和case可以分开写在不同的python文件中,这样方便管理case和suite;在测试时若更改了case只需要对相对应的suite进行修改即可
case模块:

# TestCase_Domo.py
# coding:utf-8
import unittest
class MyTestCase(unittest.TestCase):

# 测试用例前执行
def setUp(self):
pass

# 测试用例后执行
def tearDown(self):
pass

# 测试用例1
def test_Case1(self):
print 'Case1'

# 测试用例2
def test_Case2(self):
print 'Case2'

# 测试用例3
def test_Case3(self):
print 'Case3'
# 测试用例4
def test_Case4(self):
print 'test_Case4'

suite模块:

#TestSuite_Domo.py
# coding:utf-8
import unittest
from TestCase_Domo import MyTestCase

def Test_Suite():
# 构建测试集并添加Case
suite = unittest.TestSuite()
suite.addTest(MyTestCase('test_Case1'))
suite.addTest(MyTestCase('test_Case2'))
suite.addTest(MyTestCase('test_Case3'))
suite.addTest(MytestCase('test_Case4'))
return suite

if __name__=='__main__':
# 启动指定的测试集
runner = unittest.TextTestRunner()
runner.run(Test_Suite())

可以把不同的case添加到不同的suite,可以给添加的suite进行分组,且suite还可以包含suite
# TestSuite_Domo2.py
# coding:utf-8
import unittest
from TestCase_Domo import MyTestCase

def Test_Suite1():
suite = unittest.TestSuite()
suite.addTest(MyTestCase('test_Case1'))
suite.addTest(MyTestCase('test_Case2'))
return suite

def Test_Suite2():
suite = unittest.TestSuite()
suite.addTest(MyTestCase('test_Case3'))
suite.addTest(MyTestCase('test_Case4'))
return suite

def All_Suite():
all_suite = unittest.TestSuite((Test1(),Test2()))
return all_suite
if __name__ =='__main__':
runner = unittest.Te
4000
xtTestRunner()
runner.run(Test_Suite2())
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息