测试教程网.unittest教程.2. 基本用法
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_upper
,test_isupper
和test_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. 基本用法相关推荐
- 测试教程网.unittest教程.7. 各种断言方法
From: http://www.testclass.net/pyunit/assert/ 背景 unittest支持各种断言方法. 断言列表 官方文档 方法 检查点 assertEqual(a, b ...
- 测试教程网.unittest教程.6. 命令行接口
From: http://www.testclass.net/pyunit/commind_line_interface/ 背景 unittest支持命令行接口,我们可以在命令行里指定运行具体的测试用 ...
- bootstrap4 单选框 默认_自定义单选框,Bootstrap4教程|小白教程网-电子教程、视频教程...
如果要自定义一个单选框,可以设置 为父元素,类为 .custom-control 和 .custom-radio,单选框作为子元素放在该 里头,然后单选框设置为 type="radio&qu ...
- android教程丿it教程网,[IT教程吧-www.itjc8.com]_Da类android视频
资源内容: [IT教程吧-www.itjc8.com]_Da类android视频|____课程目录.docx|____第一章JAVA-FUNDAMENTAL |____1.4.2.m ...
- python教程 it教程网_it教程网Python实战班视频免费下载
教程内容:第一章内容 Hello Python上手简单脚本游戏 图形 WEB 你能想到的方方面面PYTHON都可以实现github上python的项目也足够多运行速度不是瓶颈 课程实战目标python ...
- Linux下使用Speedtest测试网速教程
Linux下使用Speedtest测试网速教程 文章目录: 一.通过Speedtest官网直接测试网络速度 二.通过下载源码,在命令行中测试网速 1.下载安装 2.Speedtest的参数使用: 有时 ...
- 简单免费内网穿透教程,利用树莓派实现低成本建站 无需公网
很多人都想试试自己建站玩一玩 (比如博客.自建网盘.远程下载等),但家里宽带没公网 IP,特意买台服务器又显得浪费.那么有没成本小.可玩性高.又能长期稳定使用的方案呢? 其实,免费的内网穿透工具 (如 ...
- C++教程网编程视频
C++教程网(www.cppcourse.com)致力于打造成C++一站式教学网,这里是已经录制好的视频汇总,更多视频将陆续推出... 视频购买地址:http://cppcourse.taobao.c ...
- Node.js 官网入门教程(一) CommonJS 模块规范、Node.js REPL、console、CLI、exports
Node.js 官网入门教程(一) CommonJS 模块规范.Node.js REPL.console.CLI.exports 文章目录 Node.js 官网入门教程(一) CommonJS 模块规 ...
最新文章
- 编译安装PHP 时遇到问题解决方法.
- 若依前后端分离版源码分析-前端头像上传后传递到后台以及在服务器上存储和数据库存储设计
- python列表解析式如何使用_python列表解析式,生成器,及部分内建函数使用方法...
- java. 端序_c代码测试本机处理器的端序
- 我的核心技术都是从哪里学到的?如何提高成长的?分享给大家。
- python学习之最常用的内置函数
- CodeForces 103D	Time to Raid Cowavans 分块+dp
- 力扣-1534. 统计好三元组
- pycharm设置python环境_pycharm怎么配置python环境
- idea新建一个springboot项目_SpringBoot(二):第一个Spring Boot项目
- 【转】傅里叶分析之掐死教程
- 用excel打开txt文件
- [Git]删除git文件历史记录
- 简单三招,教你做个app
- android如何正确获取iccid,特别是中间带有字母的iccid
- “听我说谢谢你”还能用古诗来说?清华搞了个“据意查句”神器,一键搜索你想要的名言警句...
- 【UV打印机】RYPC打印软件教程(三)-参数设置
- C/C++ 自制一个基于zlib的文件的(解)压缩系统
- iMeta期刊部分文章被PubMed收录
- 矩阵笔记4:矩阵分析(第三版)-史荣昌-第四章:矩阵分解
热门文章
- oracle通过sid远程登录,oracle怎么捕获用户登录信息,如SID,IP地址等
- 基于netty访问WebSocket(java的websocket客户端)(访问远程ws协议)
- 超级计算机 26010,全球最强超级计算机搭载的SW26010处理器解析
- java技术入门培训_入门java怎么自学?推荐谁的课程?
- nginx 端口没有被占用启动闪退_Nginx 的简单使用 (IIS,Asp.Net) - 奋斗的中年人哈哈哈...
- angular项目打包_vue项目部署的最佳实践
- 【SSL】【Apache】 配置 https/ssl
- 正则表达式截取URL参数值
- java: jmap 查看内存信息
- java事件大全_Java sctipt常用事件汇总介绍