Python代码单元测试

单元测试 用于核实函数的某个方面没有问题,测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求

  模块unittest提供了代码测试工具

测试函数

  用于测试的类必须继承unittest.TestCase类

  unittest类最有用的功能之一是:一个断言方法。断言方法用于核实得到的结果是否与期望的结果一致

name_function.py

def get_formatted_name(first, last):

   full_name = first + ‘ ‘ + last    return full_name.title()

test.py

import unittest
from name_function import get_formatted_name

class NamesTestCase(unittest.TestCase):
def test_first_last_name(self):
formatted_name = get_formatted_name(‘janis‘, ‘joplin‘)
self.assertEqual(formatted_name, ‘Janis Joplin‘)

#unittest.main() 使用pycharm不需要加这句

测试类

  unittest.TestCase类包含方法setUp( ), 可以让我们只需要创建测试中使用的对象一次,并在每个测试方法中使用它们。如果在TestCase中包含了方法setUp( ), Python将

先运行它,再运行各个以test_打头的方法。这样在每个测试方法中就都能使用在方法setUp( )中创建的对象了。

下面是书中测试类的一个例程:

survey.py

class AnonymousSurvey():    def __init__(self, question):        self.question = question        self.responses = []

    def store_response(self, new_response):        self.responses.append(new_response)

    def show_results(self):        print("Survey results: ")        for response in self.responses:            print(‘- ‘ + response)

test_survey.py

import unittest
from survey import AnonymousSurvey

class TestAnonymousSurvey(unittest.TestCase):
def setUp(self):
question = "What language did you first learn to speak?"
self.my_survey = AnonymousSurvey(question)
self.responses = [‘English‘, ‘Spanish‘, ‘Mandarin‘]

def test_store_single_response(self):
self.my_survey.store_response(self.responses[0])
self.assertIn(‘English‘,self.my_survey.responses)

def test_store_three_responses(self):
for response in self.responses:
self.my_survey.store_response(response)
for response in self.responses:
self.assertIn(response,self.my_survey.responses)

原文地址:https://www.cnblogs.com/anthony-wang0228/p/11708570.html

时间: 2024-07-29 04:50:27

Python代码单元测试的相关文章

关于Python代码调试的问题

关于Python代码调试的问题使用 pdb 进行调试pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等.pdb 提供了一些常用的调试命令,下面结合具体的实例讲述如何使用 pdb 进行调试.import pdb   a = "aaa" pdb.set_trace()   b = "bbb" c = "ccc" fin

python代码调试

http://blog.csdn.net/pipisorry/article/details/45190851 trace模块可以监控Python执行程序的方式,同时生成一个报表来显示程序的每一行执行的次数.这些信息可以用来发现未被自动化测试集所覆盖的程序执行路径,也可以用来研究程序调用图,进而发现模块之间的依赖关系.编写并执行测试可以发现绝大多数程序中的问题,Python使得debug工作变得更加简单,这是因为在大部分情况下,Python都能够将未被处理的错误打印到控制台中,我们称这些错误信息

Python代码样例列表

├─algorithm│       Python用户推荐系统曼哈顿算法实现.py│      NFA引擎,Python正则测试工具应用示例.py│      Python datetime计时程序的实现方法.py│      python du熊学斐波那契实现.py│      python lambda实现求素数的简短代码.py│      Python localtime()方法计算今天是一年中第几周.py│      Python math方法算24点代码详解.py│      Pyth

十分钟的Python代码知识点总结

#-- 寻求帮助:dir(obj) # 简单的列出对象obj所包含的方法名称,返回一个字符串列表help(obj.func) # 查询obj.func的具体介绍和用法 #-- 测试类型的三种方法,推荐第三种if type(L) == type([]):print("L is list")if type(L) == list:print("L is list")if isinstance(L, list):print("L is list") #-

VSCode编辑器编写Python代码

在学习Python的过程中,一直没有找到比较趁手的第三方编辑器,用的最多的还是Python自带的编辑器.由于本人用惯了宇宙第一IDE(Visual Studio),所以当Visual Studio Code出现时,心情有点小激动呢.从我的使用经验出发,可以说VSCode用来写Python真的是再合适不过了,你将体验到丝滑的编程体验和无限扩展的可能.而且,如果你的项目是包含多种语言的,比如Web开发,你不必再开多个编辑器和其他工具,因为这一切都可以在VSCode里完成了. 搭建环境 在VSCode

Effective Python之编写高质量Python代码的59个有效方法

                                                     这个周末断断续续的阅读完了<Effective Python之编写高质量Python代码的59个有效方法>,感觉还不错,具有很大的指导价值.下面将以最简单的方式记录这59条建议,并在大部分建议后面加上了说明和示例,文章篇幅大,请您提前备好瓜子和啤酒! 1. 用Pythonic方式思考 第一条:确认自己使用的Python版本 (1)有两个版本的python处于活跃状态,python2和pyt

编写高质量Python代码的59个有效方法(转)

第一条:确认自己使用的Python版本 (1)有两个版本的python处于活跃状态,python2和python3 (2)有很多流行的Python运行时环境,CPython.Jython.IronPython以及PyPy等 (3)在开发项目时,应该优先考虑Python3 第二条:遵循PEP风格指南 PEP8是针对Python代码格式而编订的风格指南,参考:http://www.python.org/dev/peps/pep-0008 (1)当编写Python代码时,总是应该遵循PEP8风格指南

10 行 Python 代码实现模糊查询/智能提示

10 行 Python 代码实现模糊查询/智能提示 1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的文件名,并提供一个推荐列表供用户选择. 样例如下: Vim (Ctrl-P) Sublime Text (Cmd-P) '模糊匹配'这是一个极为有用的特性,同时也非常易于实现. 2.问题分析: 我们有一堆字符串(文件名)集合,我们根据用户的输入不断进行过滤,用户的输入可能是字符串的一部分.我们就以下面的

200行Python代码实现2048

200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令 GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器 3. 环境使用 使用GVim编辑器输入实验所需的代码及文件,使用LX终端(LXTerminal)运行所需命令进行操