ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【unittest】编写并运行测试用例方法

2021-09-13 22:34:19  阅读:130  来源: 互联网

标签:case 01 unittest 测试用例 test 编写 self def


前言:以教为学,授予他人知识也是学习的过程

工具:pycharm

注:小细节,用pycharm顶部选项中【run】->【run】运行指定文件,直接点击运行本文件可能不是所需文件

用例范围:1.单条测试用例

        2.测试类下的测试用例

           3.模块下的测试用例

方式一:用unittest.mian()方法运行文件中所有测试用例

import unittest
class testCase03(unittest.TestCase):
def setUp(self) -> None:
pass

def tearDown(self) -> None:
pass

def test_ccc(self):
print('ccc')

def test_aaa(self):
print('aaa')

def test_ddd(self):
print('ddd')

def test_bbb(self):
print('bbb')

if __name__ == "__main__":
unittest.main()

 方式二:用addTest()指定类下的测试用例

import unittest
class testCase03(unittest.TestCase):
def setUp(self) -> None:
pass

def tearDown(self) -> None:
pass

def test_ccc(self):
print('ccc')

def test_aaa(self):
print('aaa')

if __name__=="__main__":
suite=unittest.TestSuite()
suite.addTest(testCase03('test_ccc'))
suite.addTest(testCase03('test_aaa'))
unittest.main(defaultTest='suite')

 方式三:用unittest.makeSuite()运行指定测试类

import unittest
class testCase01(unittest.TestCase):
def setUp(self) -> None:
pass
def tearDown(self) -> None:
pass

def test_case_01_01(self):
print('test_case_01_01')

def test_case_01_02(self):
print('test_case_01_02')

class testCase02(unittest.TestCase):
def setUp(self) -> None:
pass

def tearDown(self) -> None:
pass

def test_case_02_01(self):
print('test_case_01_01')

def test_case_02_02(self):
print('test_case_01_02')
if __name__=='__main__':
  #testCase01是指定的测试类,注意套件suite加引号
  suite=unittest.makeSuite(testCase01)
unittest.main(defaultTest='suite')


方式四:用unittest.TestLoader()执行指定模块、指定类、指定测试用例
import unittest
from class_02 import testCase06 #自导

class testCase01(unittest.TestCase):
def setUp(self) -> None:
pass

def tearDown(self) -> None:
pass

def test_case_01_01(self):
print('test_case_01_01')

def test_case_01_02(self):
print('test_case_01_02')

class testCase02(unittest.TestCase):
def setUp(self) -> None:
pass

def tearDown(self) -> None:
pass

def test_case_02_01(self):
print('test_case_01_01')

def test_case_02_02(self):
print('test_case_01_02')

if __name__=='__main__':
#1.加载整个测试类,testCase01是测试类
# suite01=unittest.TestLoader().loadTestsFromTestCase(testCase01)
# unittest.main(defaultTest='suite01')

#2.加载模板py文件里面的测试用例,需要手动导入testCase06模块,testCase06是一个自导的模块
# suite02=unittest.TestLoader().loadTestsFromModule(testCase06)
# unittest.main(defaultTest='suite02')

#使用字符串的方式加载
#3.1加载测试方法
# suite03=unittest.TestLoader().loadTestsFromName('testCase06.testCase01.test_case_01_01')
# unittest.main(defaultTest='suite03')
#3.2加载测试类
# suite03=unittest.TestLoader().loadTestsFromName('testCase06.testCase01')
# unittest.main(defaultTest='suite03')
#3.3加载模块
suite03=unittest.TestLoader().loadTestsFromName('testCase06')
unittest.main(defaultTest='suite03')

方式五:用discover()加载并执行指定路径下,指定格式的测试用例
 方法:discover(self, start_dir, pattern='test*.py', top_level_dir=None):
 start_dir:测试用例的路径
top_level_dir:测试模块的顶层目录,如果没有顶层目录,默认为None。
pattern:执行用例的格式


import unittest
import os
#测试用例路径
current_path=os.path.dirname(__file__)
case_path=os.path.join(current_path,'test_one')
discover=unittest.defaultTestLoader.discover(case_path,
pattern='test*.py',
top_level_dir=case_path)
mainSuite=unittest.TestSuite()
mainSuite.addTest(discover)
unittest.main(defaultTest='mainSuite')

作者:ahuaa
出处:https://www.cnblogs.com/ahuaa/
欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

标签:case,01,unittest,测试用例,test,编写,self,def
来源: https://www.cnblogs.com/ahuaa/p/15261191.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有