python unittest接口测试脚本,python-unittest接口测试框架

一、unittest初级使用

单元测试中最核心的四个概念:test case(测试用例),test suite(测试套件),test runner(测试运行器),test fixture(测试环境数据准备和数据清理或者测试脚手架)

※test case:一个testcase的实例就是一个测试用例。测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)

※TestSuite:多个测试用例集合在一起。

※TestLoader:用来加载Testcase到TestSuite中。

※TextTestRunner:用来执行测试用例,其中run(test)会执行TestSuite/TestCase中的run(result)方法。

※test fixture:测试用例环境的搭建和销毁

1.在创建一个新类时,会继承unittest.TestCase。重写setUp和tearDown方法时,再调用unittest.main()执行用例,setUp和tearDown会在每条用例前后都执行:

import unittest

class TestBaidu(unittest.TestCase):

#每执行一个用例,都会执行setup()和teardown()方法

#如果跑所有用例,只运行一次前提条件和结束条件。则用setupclass()和teardownclass()

def setUp(self):

print("测试用例执行前的初始化操作========")

def tearDown(self):

print("测试用例执行完之后的收尾操作=====")

def test_add(self):

print(5+7)

def test_sub(self):

print(3-2)

if __name__ == '__main__':

unittest.main()

运行结果:

>>

结果:

测试用例执行前的初始化操作========

12

测试用例执行完之后的收尾操作=====

测试用例执行前的初始化操作========

1

测试用例执行完之后的收尾操作=====

<<

2.设置setupClass和teardownClass:执行所有测试用例,仅执行一次初始化条件和结束条件(如下代码可以看到,两个测试用例只执行了一次):

import unittest

class TestBaidu(unittest.TestCase):

#如果跑所有用例,只运行一次前提条件和结束条件。则用setupclass()和teardownclass()

@classmethod

def setUpClass(cls):

print("在所有的测试用例执行之前,只执行一次============")

@classmethod

def tearDownClass(cls):

print("在所有的测试用例执行之后,只执行一次============")

def test_add(self):

print(5+7)

def test_sub(self):

print(3-2)

#python3中写不写都会执行的

if __name__ == '__main__':

unittest.main()

运行结果:

>>

Testing started at 22:19 ...

在所有的测试用例执行之前,只执行一次============

12

1

在所有的测试用例执行之后,只执行一次============

<<

二、testsuit使用

import unittest

class TestBaidu(unittest.TestCase):

def test01(self):

print('test01测试...')

def test02(self):

print('test02测试...')

def test03(self):

print('test03测试...')

if __name__ == '__main__':

suit=unittest.TestSuite() #创建测试集

suit.addTest(TestBaidu('test01')) #测试集中添加需要运行的测试用例

suit.addTest(TestBaidu('test02'))

#suit.addTest([TestBaidu('test01'),TestBaidu('test02')])

runner=unittest.TextTestRunner() #用来执行测试用例

runner.run(suit)

三、unittest.TestLoader.discover匹配目录下的所有用例,目录下的用例名称需要以test开头

import unittest

import os

#实例化测试套件对象

suit = unittest.TestSuite()

#实例化TestLoader的对象

loader = unittest.TestLoader()

#使用discover()去找一个目录下的所有测试用例的文件,并将返回数据添加到测试套件中。

s.addTests(loader.discover(os.getcwd()))

run = unittest.TextTestRunner()

run.run(s)

标签:__,python,unittest,接口,print,测试用例,test,执行

来源: https://www.cnblogs.com/xiao-erge112700/p/11943504.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值