python测试框架中每一个小的测试用例怎么执行_python单元测试框架unittest

一、Pyhon工作原理—— 核心概念:test case, testsuite, TestLoder,TextTestRunner,TextTestResult, test fixture

TestCase(测试用例): 所有测试用例的基类,它是软件测试中最基本的组成单元。

一个test case就是一个测试用例,是一个完整的测试流程,包括测试前环境的搭建setUp,执行测试代码(run),以及测试后环境的还原(tearDown)。测试用例是一个完整的测试单元,可以对某一问题进行验证。

TestSuite(测试套件):多个测试用例test case集合就是TestSuite,TestSuite可以嵌套TestSuite

TestLoder:是用来加载 TestCase到TestSuite中,其中有几个loadTestsFrom_()方法,就是从各个地方寻找TestCase,创建他们的实例,然后add到TestSuite中,再返回一个TestSuite实例

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

TextTestResult:测试结果会保存到TextTestResult实例中,包括运行了多少用例,成功与失败多少等信息

TestFixture:又叫测试脚手,测试代码的运行环境,指测试准备前和执行后要做的工作,包括setUp和tearDown方法

二、测试流程:

1. 写好TestCase:一个class继承unittest.TestCase,就是一个测试测试用例,其中有多个以test开头的方法,那么 每一个这样的,在load的时候会生成一个TestCase实例。如果一个class中有四个test开头的方法,最后load到suite中时则有四个测试用例

2. 由TestLoder加载TestCase到TestSuite

3.然后由TextTestRunner来运行TestSuite,运行的结果保存在TextTestResult中。

说明:a:通过命令行或者unittest.main()执行时,main会调用TextTestRunner中的run来执行,或者可以直接通过TextTestRunner来执行用例

b:Runner执行时,默认将结果输出到控制台,我们可以设置其输出到文件,在文件中查看 结果,也可以通过HTMLTestRunner将结果输出到HTML)

三、unittest实例:

#coding=utf-8

import unittest

class TestCase_01(unittest.TestCase): # 继承unittest.TestCase

@classmethod

def setUpClass(cls):

print('这是所有case的前置条件')

@classmethod

def tearDownClass(cls):

print('这是所有case的后置条件')

def setUp(self):

print('这是每条case的前置条件')

def tearDown(self):

print('这是每条case的后置条件')

def testFirst_01(self):

print('01: 第一条case')

@unittest.skip('不执行这条case') # 跳过这条case

def testSecond_01(self):

print('01: 第二条case')

def testThird_01(self): # 测试用例的命名必须以test开头,否则不予执行

print('01: 第三条case')

if __name__ == '__main__':

# unittest.main() # 使用main()直接运行时,将按case的名称顺序执行

suite = unittest.TestSuite()

suite.addTest(TestCase_01('testFirst_01'))

suite.addTest(TestCase_01('testSecond_01'))

suite.addTest(TestCase_01('testThird_01')) # 将需要执行的case添加到Test Suite中,没有添加的不会被执行

unittest.TextTestRunner().run(suite) # 将根据case添加的先后顺序执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值