pythonunittest用法_python unittest使用及三种执行方式

一.直接使用TestCase

import unittestclassTest1(unittest.TestCase):

@classmethod

def setUpClass(self):

print("execute setUpClass")

@classmethod

def tearDownClass(self):

print("execute tearDownClass")

def setUp(self):

print("execute setUp")

def tearDown(self):

print("execute tearDown")

def test_one(self):

print('execute test_one')

self.assertTrue('FOO'.isupper())

def test_two(self):

print('execute test_two')

execute setUpClass

execute setUp

execute test_one

execute tearDown

execute setUp

execute test_two

execute tearDown

execute tearDownClass

Ran2 tests in 0.003s

OK

二、使用TestSuite

直接写TestCase执行时是按字母排序的顺序执行的,如果要设定测试用例的执行先后顺序则需要将TestCase封装到TestSuite。

import unittest

classTest2(unittest.TestCase):

@classmethod

def setUpClass(self):

print("execute setUpClass")

@classmethod

def tearDownClass(self):

print("execute tearDownClass")

def setUp(self):

print("execute setUp")

def tearDown(self):

print("execute tearDown")

def test_one(self):

print('execute test_one')

self.assertTrue('FOO'.isupper())

def test_two(self):

print('execute test_two')if __name__ == '__main__':

suite=unittest.TestSuite()

# Test2是要测试的类名,test_two是要执行的测试方法

suite.addTest(Test2("test_two"))

suite.addTest(Test2("test_one"))

runner=unittest.TextTestRunner()

runner.run(suite)

execute setUpClass

execute setUp

execute test_one

execute tearDown

Ran2 tests in 0.007s

OK

execute setUp

execute test_two

execute tearDown

execute tearDownClass

unittest的setup、teardown会在每个用例执行前后执行一次,如上面测试用例类中有2个测试用例,那么每个用例执行前会执行setup,执行后会执行teardown,即setup、teardown总共会调用2次,但考虑实际自动化测试场景,多个用例只需执行一次setup,全部用例执行完成后,执行一次teardown,针对该种场景,unittest的处理方法是使用setupclass、teardownclass

unittest执行的三种方法:

利用python进行测试时,测试用例的加载方式有2种:

一种是通过unittest.main()来启动所需测试的测试模块;

一种是添加到testsuite集合中再加载所有的被测试对象,而testsuit里存放的就是所需测试的用例,下面分别列出3种方法的具体使用方式:

1、通过unittest.main()来执行测试用例的方式:

import unittestclassUCTestCase(unittest.TestCase):

def setUp(self):

#测试前需执行的操作

.....

def tearDown(self):

#测试用例执行完后所需执行的操作

.....

# 测试用例1

def testCreateFolder(self):

#具体的测试脚本

......

# 测试用例2

def testDeleteFolder(self):

#具体的测试脚本

......if __name__ == "__main__":

unittest.main()

2、通过testsuit来执行测试用例的方式:

import unittest

# 执行测试的类classUCTestCase(unittest.TestCase):

def setUp(self):

#测试前需执行的操作

.....

def tearDown(self):

#测试用例执行完后所需执行的操作

.....

# 测试用例1

def testCreateFolder(self):

#具体的测试脚本

......

# 测试用例2

def testDeleteFolder(self):

#具体的测试脚本

......if __name__ == "__main__":

# 构造测试集

suite=unittest.TestSuite()

suite.addTest(UC7TestCase("testCreateFolder"))

suite.addTest(UC7TestCase("testDeleteFolder"))

# 执行测试

runner=unittest.TextTestRunner()

runner.run(suite)

3、通过testLoader方式:

import unittestclassTestCase1(unittest.TestCase):

#def setUp(self):

#def tearDown(self):

def testCase1(self):

print'aaa'def testCase2(self):

print'bbb'

classTestCase2(unittest.TestCase):

#def setUp(self):

#def tearDown(self):

def testCase1(self):

print'aaa1'def testCase2(self):

print'bbb1'

if __name__ == "__main__":

#此用法可以同时测试多个类

suite1=unittest.TestLoader().loadTestsFromTestCase(TestCase1)

suite2=unittest.TestLoader().loadTestsFromTestCase(TestCase2)

suite=unittest.TestSuite([suite1, suite2])

unittest.TextTestRunner(verbosity=2).run(suite)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值