Python中unittest用法实例

本文实例讲述了python中unittest用法,分享给大家供大家参考。具体用法分析如下:

1. unittest module包含了编写运行unittest的功能,自定义的test class都要集成unitest.TestCase类,test method要以test开头,运行顺序根据test method的名字排序,特殊方法:
① setup():每个测试函数运行前运行
② teardown():每个测试函数运行完后执行
③ setUpClass():必须使用@classmethod 装饰器,所有test运行前运行一次
④ tearDownClass():必须使用@classmethod装饰器,所有test运行完后运行一次

2. 示例代码:

#文件名runtest.pyimport randomimport unittestclass TestSequenceFunctions(unittest.TestCase):  def setUp(self):    self.seq = list(range(10))  def test_shuffle(self):    # make sure the shuffled sequence does not lose any elements    random.shuffle(self.seq)    self.seq.sort()    self.assertEqual(self.seq, list(range(10)))    # should raise an exception for an immutable sequence    self.assertRaises(TypeError, random.shuffle, (1,2,3))  def test_choice(self):    element = random.choice(self.seq)    self.assertTrue(element in self.seq)  def test_sample(self):    with self.assertRaises(ValueError):      random.sample(self.seq, 20)    for element in random.sample(self.seq, 5):      self.assertTrue(element in self.seq)if __name__ == '__main__':  unittest.main()

登录后复制

3.运行方式:在命令行直接运行这个runtest.py

可以使用unitest.skip装饰器族跳过test method或者test class,这些装饰器包括:
① @unittest.skip(reason):无条件跳过测试,reason描述为什么跳过测试
② @unittest.skipif(conditition,reason):condititon为true时跳过测试
③ @unittest.skipunless(condition,reason):condition不是true时跳过测试

可以自定义skip decorator

#这是一个自定义的skip decorratordef skipUnlessHasattr(obj, attr):  if hasattr(obj, attr):    return lambda func: func  return unittest.skip("{!r} doesn't have {!r}".format(obj, attr))

登录后复制

skip decorator示例代码:

立即学习“Python免费学习笔记(深入)”;

class MyTestCase(unittest.TestCase):  @unittest.skip("demonstrating skipping")  def test_nothing(self):    self.fail("shouldn't happen")  @unittest.skipIf(mylib.__version__ 

4.expected failure:使用@unittest.expectedFailure装饰器,如果test失败了,这个test不计入失败的case数目

希望本文所述对大家Python程序设计的学习有所帮助。

登录后复制

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2291136.html

(0)
上一篇 2025年2月28日 00:47:25
下一篇 2025年2月19日 11:15:57

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python中实现两个字典(dict)合并的方法

    本文实例讲述了python中实现两个字典(dict)合并的方法,分享给大家供大家参考。具体方法如下: 现有两个字典dict如下: dict1={1:[1,11,111],2:[2,22,222]}dict2={3:[3,33,333],4:…

    编程技术 2025年2月28日
    200
  • Python greenlet实现原理和使用示例

    最近开始研究python的并行开发技术,包括多线程,多进程,协程等。逐步整理了网上的一些资料,今天整理了一下greenlet相关的资料。 并发处理的技术背景 并行化处理目前很受重视, 因为在很多时候,并行计算能大大的提高系统吞吐量,尤其在现…

    编程技术 2025年2月28日
    200
  • Python中的类学习笔记

    python使用中面向对象的语言,支持继承、多态; 定义一个Person类: 复制代码 代码如下:>>> class Person:… def sayHello(self):… print(&#82…

    2025年2月28日
    200
  • Python函数嵌套实例

    在python中函数可以作为参数进行传递,而也可以赋值给其他变量(类似javascript,或者c/c++中的函数指针); 类似Javascript,Python支持函数嵌套,Javascript嵌套函数的应用模式对Python适用; 复制…

    编程技术 2025年2月28日
    200
  • Python中的exec、eval使用实例

    通过exec可以执行动态Python代码,类似Javascript的eval功能;而Python中的eval函数可以计算Python表达式,并返回结果(exec不返回结果,print(eval(“…”))打印None…

    编程技术 2025年2月28日
    200
  • Python的高级Git库 Gittle

    gittle是一个高级纯python git 库。构建在dulwich之上,提供了大部分的低层机制。 Install it pip install gittle 登录后复制 Examples : Clone a repository fro…

    编程技术 2025年2月28日
    200
  • Python多进程编程技术实例分析

    本文以实例形式分析了python多进程编程技术,有助于进一步python程序设计技巧。分享给大家供大家参考。具体分析如下: 一般来说,由于Python的线程有些限制,例如多线程不能充分利用多核CPU等问题,因此在Python中我们更倾向使用…

    编程技术 2025年2月28日
    200
  • Python专用方法与迭代机制实例分析

    本文实例讲述了python专用方法与迭代机制,分享给大家供大家参考之用。具体分析如下: 众所周知,Python 设计哲学是“优雅”、“明确”、“简单”,对于一件事只用一种最好的方法来做,而这种优雅在于背后很自然的隐藏了很多细节。比如对一些对…

    编程技术 2025年2月28日
    200
  • python中执行shell命令的几个方法小结

    最近有个需求就是页面上执行shell命令,第一想到的就是os.system, 复制代码 代码如下:os.system(‘cat /proc/cpuinfo’) 但是发现页面上打印的命令执行结果 0或者1,当然不满足需…

    编程技术 2025年2月28日
    200
  • Python threading多线程编程实例

    python 的多线程有两种实现方法: 函数,线程类 1.函数 调用 thread 模块中的 start_new_thread() 函数来创建线程,以线程函数的形式告诉线程该做什么 复制代码 代码如下: 立即学习“Python免费学习笔记(…

    编程技术 2025年2月28日
    200

发表回复

登录后才能评论