Python测试函数出现错误问题解决:AssertionError: None != ‘Janis Joplin‘
当使用Python测试函数时,可能会出现AsserttionError,即断言错误。
根据错误提示可知,空值不能和测试期望结果Janis Joplin相同,仔细查看
正在测试的函数并没有返回值,也就是所谓的none,所以才会出现错误。
错误函数代码如下:
def get_formatted_name(first, last):"""获得一个整洁的完整的姓名"""full_name = first+' '+lastprint(full_name.title())
我们发现,单独进行运行代码时,反而没有问题,可是,一旦执行测试代码就会发生断言错误。
测试代码:
import unittest
from name_function import get_formatted_nameclass NamesTestCase(unittest.TestCase):"""测试函数name_function()"""def test_first_last_name(self):formatted_name = get_formatted_name('janis', 'joplin')self.assertEqual(formatted_name, 'Janis Joplin')if __name__ == '__main__':unittest.main()
运行测试代码时会发现traceback:
Traceback (most recent call last):File "\test_name_function.py", line 10, in test_first_last_nameself.assertEqual(formatted_name, 'Janis Joplin')
AssertionError: None != 'Janis Joplin'
当我们把欲测试的函数添加一个返回值时,即:
def get_formatted_name(first, last):"""获得一个整洁的完整的姓名"""full_name = first+' '+lastreturn full_name.title()
再重新运行测试代码,就不会发生错误了。
测试结果如下:
Ran 1 test in 0.003sOKProcess finished with exit code 0
注意:这里有的人可能是:
.
----------------------------------------------------------------------
Ran 1 test in 0.000sOK
这是电脑设置问题,但影响不大,句点的作用就是测试完的个数,结果中已经有了数字1,如果数量多的时候,不会有人去一个个数几个句点吧。
注意:
还有会发生不能测试的情况,这里很大可能是unittest调用主函数时,没有条件判断if __name__ == '__main__',即正确代码应为:
if __name__ == '__main__':unittest.main()
而不是:
unittest.main()
Python测试函数出现错误问题解决:AssertionError: None != ‘Janis Joplin‘相关推荐
- python中语法错误-Python3 错误和异常
Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...
- python错误-python异常与错误区别
错误和异常概念 错误: 1.语法错误:代码不符合解释器或者编译器语法 2.逻辑错误:不完整或者不合法输入或者计算出现问题 异常:执行过程中出现万体导致程序无法执行 1.程序遇到逻辑或者算法问题 2.运 ...
- python判断正确错误_python错误和异常
Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...
- python中监控错误的语句_Python学习_07_错误、异常
地毯式地过语法终于快要结束了... Python中的常见异常 1.NameError:尝试访问一个未初始化的变量 2. ZeroDivisionError:除数为0 3. SyntaxError:Py ...
- python使用-Python3 错误和异常
Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...
- Python读取中文Excel问题解决
Python读取中文Excel问题解决 为什么读取中文Excel会出错 两个难题 试验结果 为什么读取中文Excel会出错 在计算机中,一个字节(byte)有8个比特,即可以表达2^8次方即256个字 ...
- 微信-js sdk invalid signature签名错误 问题解决
微信-js sdk invalid signature签名错误 问题解决 参考文章: (1)微信-js sdk invalid signature签名错误 问题解决 (2)https://www.cn ...
- 初学Python常见异常错误,总有一处你会遇到!
初学Python常见异常错误,总有一处你会遇到! 参考文章: (1)初学Python常见异常错误,总有一处你会遇到! (2)https://www.cnblogs.com/xxpythonxx/p/1 ...
- pip安装提示PermissionError: [WinError 5]错误问题解决
pip安装提示PermissionError: [WinError 5]错误问题解决 参考文章: (1)pip安装提示PermissionError: [WinError 5]错误问题解决 (2)ht ...
最新文章
- JQuery(选择器)
- 【撸啊撸 Docker】搭建 Jenkins
- Odoo访问权限(一)
- MFC多语言实现方法
- 华中师范大学邮箱matlab,18春[华中师范大学]华师《Matlab基础与应用》在线作业1(100分)...
- 随笔编号-04 AngularJS 相关小问题解决方案合集
- 中公电网计算机类题库讲练版百度云,2021电网二批招聘考试题库:计算机类练习题(5)...
- 关于编码问题,报错:'gbk' codec can't encode character '\u3164' in position 0: illegal multibyte sequence...
- 使用DSIM给WIN7集成SP2、IE11、USB3
- mysql如何从两个表取出内容_如何从mysql中的两个表中获取数据?
- 关羽卖枣,张飞杀猪,二人何以有“盖世武功”?
- 防空系统效能评估软件攻略
- Linux安装PHPwind
- 电路与电子4.3.5隔离放大器和音频功率放大器
- 教你制作挂件头像 | 小程序七十二变之 canvas 绘制国旗头像
- Linux内核API之class_create与class_destroy
- 煮一壶清茶,悟一种人生
- QBC 通过Heibernate查询 discriminator 配置的属性问题
- 通达信l-2服务器文件,分享两个手机版通达信的指标源码(PC端也适用)
- Android 开源图片裁剪工具、图片显示工具分享
热门文章
- Rhapsody freeMaker 将任意HL7转XML
- 单片机实验装置,单片机课程教学配套实验设备
- QT实现抖音网红表白软件
- spring cloud 配置文件application.yml和bootstrap.yml 的定位,区别和联系
- Lr预设(手机+电脑):极简主义白色明亮时尚Ins摄影Lightroom调色滤镜预设
- UNP 学习笔记(一):简介
- OpenGL环境搭建:vs2013+freeglut2.8.1+glew1.7.0+gltools
- 美通企业日报 | 洽洽开启中国坚果品牌全球化新征程;创维上半年净利同比增两成...
- java y z x_表示关系 X=Y=Z 的 JAVA 语言表达式为_机械工程材料及热处理答案_学小易找答案...
- ZYNQ学习之路16.SDSoC开发环境介绍