python测试框架untest怎么循环执行_Python单元测试框架unittest使用方法讲解

python测试框架untest怎么循环执⾏_Python单元测试框架
unittest使⽤⽅法讲解
概述
1.测试脚⼿架(test fixture)
测试准备前要做的⼯作和测试执⾏完后要做的⼯作.包括setUp()和tearDown().
2.测试案例(test case)
最⼩的测试单元.
3.测试套件(test suite)
测试案例的集合.
4.测试运⾏器(test runner)
测试执⾏的组件.
命令⾏接⼝
可以⽤命令⾏运⾏测试模块,测试类以及测试⽅法.拖曳声纳
复制代码代码如下:
python -m unittest test_module1 test_module2
python -m unittest test_module.TestClass
python -m unittest test_st_method
可加-v打印详细信息
复制代码代码如下:
python -m unittest -v test_module
测试案例⾃动搜索
unittest⽀持简单的test discovery. 命令⾏传⼊discovery后,框架会⾃动在当前⽬录搜索要测试的案例并执⾏.搜索⽬录必须是包或者模块.基本使⽤如下:
复制代码代码如下:
cd project_directory
python -m unittest discover
⼦选项如下:
-v, –verbose
输出信息的详细级别
-s, –start-directory directory
开始搜索⽬录 (默认为当前⽬录)
-p, –pattern pattern
匹配的⽂件名 (默认为test*.py)
-t, –top-level-directory directory
搜索的顶层⽬录 (默认为start directory)
创建测试代码
1.⽅式⼀
创建⼦类继承unittest.TestCase,然后重写以下⽅法
复制代码代码如下:NFJ防静电不发火地面
class WidgetTestCase(unittest.TestCase):
def setUp(self):
pass
def runTest(self):
pass
def tearDown(self):
pass
运⾏
2.⽅式⼆
编写以test开头的⽅法
复制代码代码如下:
class WidgetTestCase(unittest.TestCase):城乡信息一体化
def setUp(self):
pass
def test_xx1(self)
def test_xx2(self)
...
def test_xxN(self)
def tearDown(self):
pass
构建测试套件
⽅式⼀
复制代码代码如下:
widgetTestSuite = unittest.TestSuite()
widgetTestSuite.addTest(WidgetTestCase('test_default_size')) widgetTestSuite.addTest(WidgetTestCase('test_resize'))
⽅式⼆(推荐)
复制代码代码如下:
def suite():
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase('test_default_size'))
suite.addTest(WidgetTestCase('test_resize'))
return suite
⽅式三(推荐)
复制代码代码如下:
def suite():
tests = ['test_default_size', 'test_resize']
return unittest.TestSuite(map(WidgetTestCase, tests))
⽅式四压力容器安全阀
多个测试套件构建成更⼤的测试套件
复制代码代码如下:
suite1 = module1.TheTestSuite()
suite2 = module2.TheTestSuite()
alltests = unittest.TestSuite([suite1, suite2])
智能美甲
⽅式五
unittest的TestLoader提供⽣成默认的测试套件
复制代码代码如下:
马蹄清洗机suite = unittest.TestLoader().loadTestsFromTestCase(WidgetTestCase)忽略测试案例( Python2.7⽀持)
可以分⽆条件忽略和有条件忽略,通过装饰器实现
复制代码代码如下:
class MyTestCase(unittest.TestCase):
@unittest.skip("demonstrating skipping")
def test_nothing(self):
self.fail("shouldn't happen")
@unittest.skipIf(mylib.__version__ < (1, 3),
"not supported in this library version")
def test_format(self):
# Tests that work for only a certain version of the library.
pass
@unittest.skipUnless(sys.platform.startswith("win"), "requires Windows") def test_windows_support(self):
# windows specific testing code
pass
测试类也可以忽略
复制代码代码如下:
@unittest.skip("showing class skipping")
class MySkippedTestCase(unittest.TestCase): def test_not_run(self):
pass

本文发布于:2024-09-24 07:12:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/104869.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   案例   套件   搜索   信息   创建
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议