From: http://www.testclass.net/pyunit/basic_example/

我们通过最简单的例子来看一下unittest的基本用法,下面的代码测试了3个python字符串方法,基本上满足了大部分情况下的测试需求

import unittestclass TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqual('foo'.upper(), 'FOO') def test_isupper(self): self.assertTrue('FOO'.isupper()) self.assertFalse('Foo'.isupper()) def test_split(self): s = 'hello world' self.assertEqual(s.split(), ['hello', 'world']) # check that s.split fails when the separator is not a string with self.assertRaises(TypeError): s.split(2) if __name__ == '__main__': unittest.main() 

解释一下关键点

  • 可以通过继承unittest.TestCase类来定义我们自己的测试用例,1个测试用例类下面可以有多个测试方法(test)或者叫做测试点

  • 记住这个套路:测试用例中方法名以test开头的方法才是测试方法,比如上面的例子里定义了3个以test开头的方法,分别是test_uppertest_isuppertest_split。非测试方法是不会被test runner执行的

  • 断言是测试用例的核心。我们使用assertEqual()来判断预期结果,用assertTrue()和assertFalse来做是非判断,以及用assertRaises()来判断预期的异常是否有被抛出。这些unittest提供的以assert开头的方法就是断言,一般情况下,每个测试方法里都必须有断言

  • 最后, unittest.main提供了最简单的运行用例的方式。当我们从命令行运行上面的代码时,我们可以看到如下的输出

...
----------------------------------------------------------------------
Ran 3 tests in 0.000sOK

除了使用unittest.main,还有其他的方式可以运行测试用例,比如把最后2行替换为

suite = unittest.TestLoader().loadTestsFromTestCase(TestStringMethods)
unittest.TextTestRunner(verbosity=2).run(suite)

运行用例,结果将会如下所示

test_isupper (__main__.TestStringMethods) ... ok
test_split (__main__.TestStringMethods) ... ok test_upper (__main__.TestStringMethods) ... ok ---------------------------------------------------------------------- Ran 3 tests in 0.001s OK 

转载于:https://www.cnblogs.com/Raul2018/p/9466811.html

测试教程网.unittest教程.2. 基本用法相关推荐

  1. 测试教程网.unittest教程.7. 各种断言方法

    From: http://www.testclass.net/pyunit/assert/ 背景 unittest支持各种断言方法. 断言列表 官方文档 方法 检查点 assertEqual(a, b ...

  2. 测试教程网.unittest教程.6. 命令行接口

    From: http://www.testclass.net/pyunit/commind_line_interface/ 背景 unittest支持命令行接口,我们可以在命令行里指定运行具体的测试用 ...

  3. bootstrap4 单选框 默认_自定义单选框,Bootstrap4教程|小白教程网-电子教程、视频教程...

    如果要自定义一个单选框,可以设置 为父元素,类为 .custom-control 和 .custom-radio,单选框作为子元素放在该 里头,然后单选框设置为 type="radio&qu ...

  4. android教程丿it教程网,[IT教程吧-www.itjc8.com]_Da类android视频

    资源内容: [IT教程吧-www.itjc8.com]_Da类android视频|____课程目录.docx|____第一章JAVA-FUNDAMENTAL          |____1.4.2.m ...

  5. python教程 it教程网_it教程网Python实战班视频免费下载

    教程内容:第一章内容 Hello Python上手简单脚本游戏 图形 WEB 你能想到的方方面面PYTHON都可以实现github上python的项目也足够多运行速度不是瓶颈 课程实战目标python ...

  6. Linux下使用Speedtest测试网速教程

    Linux下使用Speedtest测试网速教程 文章目录: 一.通过Speedtest官网直接测试网络速度 二.通过下载源码,在命令行中测试网速 1.下载安装 2.Speedtest的参数使用: 有时 ...

  7. 简单免费内网穿透教程,利用树莓派实现低成本建站 无需公网

    很多人都想试试自己建站玩一玩 (比如博客.自建网盘.远程下载等),但家里宽带没公网 IP,特意买台服务器又显得浪费.那么有没成本小.可玩性高.又能长期稳定使用的方案呢? 其实,免费的内网穿透工具 (如 ...

  8. C++教程网编程视频

    C++教程网(www.cppcourse.com)致力于打造成C++一站式教学网,这里是已经录制好的视频汇总,更多视频将陆续推出... 视频购买地址:http://cppcourse.taobao.c ...

  9. Node.js 官网入门教程(一) CommonJS 模块规范、Node.js REPL、console、CLI、exports

    Node.js 官网入门教程(一) CommonJS 模块规范.Node.js REPL.console.CLI.exports 文章目录 Node.js 官网入门教程(一) CommonJS 模块规 ...

最新文章

  1. 编译安装PHP 时遇到问题解决方法.
  2. 若依前后端分离版源码分析-前端头像上传后传递到后台以及在服务器上存储和数据库存储设计
  3. python列表解析式如何使用_python列表解析式,生成器,及部分内建函数使用方法...
  4. java. 端序_c代码测试本机处理器的端序
  5. 我的核心技术都是从哪里学到的?如何提高成长的?分享给大家。
  6. python学习之最常用的内置函数
  7. CodeForces 103D Time to Raid Cowavans 分块+dp
  8. 力扣-1534. 统计好三元组
  9. pycharm设置python环境_pycharm怎么配置python环境
  10. idea新建一个springboot项目_SpringBoot(二):第一个Spring Boot项目
  11. 【转】傅里叶分析之掐死教程
  12. 用excel打开txt文件
  13. [Git]删除git文件历史记录
  14. 简单三招,教你做个app
  15. android如何正确获取iccid,特别是中间带有字母的iccid
  16. “听我说谢谢你”还能用古诗来说?清华搞了个“据意查句”神器,一键搜索你想要的名言警句...
  17. 【UV打印机】RYPC打印软件教程(三)-参数设置
  18. C/C++ 自制一个基于zlib的文件的(解)压缩系统
  19. iMeta期刊部分文章被PubMed收录
  20. 矩阵笔记4:矩阵分析(第三版)-史荣昌-第四章:矩阵分解

热门文章

  1. oracle通过sid远程登录,oracle怎么捕获用户登录信息,如SID,IP地址等
  2. 基于netty访问WebSocket(java的websocket客户端)(访问远程ws协议)
  3. 超级计算机 26010,全球最强超级计算机搭载的SW26010处理器解析
  4. java技术入门培训_入门java怎么自学?推荐谁的课程?
  5. nginx 端口没有被占用启动闪退_Nginx 的简单使用 (IIS,Asp.Net) - 奋斗的中年人哈哈哈...
  6. angular项目打包_vue项目部署的最佳实践
  7. 【SSL】【Apache】 配置 https/ssl
  8. 正则表达式截取URL参数值
  9. java: jmap 查看内存信息
  10. java事件大全_Java sctipt常用事件汇总介绍