代码测试:

(程序猿们会不会有很多有智窗QAQ,我看的书是python编程从入门到实践,遇到看不懂的地方就度娘或者上午看视频资源)

单元测试和测试用例

Python标准库中的模块unittest提供了代码测试工具
单元测试:用于核实函数的某个方面没有问题。
测试用例:是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求。
全覆盖式测试:用例包含一整套单元测试,涵盖了各种可能的函数使用方式。

这里是一些测试的命名规则:
测试文件以test_开头(以_test结尾也可以)
测试类以Test开头,并且不能带有 init 方法
测试函数以test_开头

要为函数编写测试用例:
①可先导入模块unittest以及要测试的函数,
②再创建一个测试函数继承unittest.TestCase的类,
③并编写一系列方法对函数行为的不同方面进行测试

先编写一个格式化名字的函数:

def get_formatted_name(first,last,middle=''):'''Generate a neatly formatted full name'''if middle:full_name = first + ' '+ middle + ' ' + lastelse:full_name = first + ' '+ lastreturn full_name.title()

这里我们通过unittest模块进行代码测试

#引入 unittest模块
from name_function import get_formatted_name
#引入要测试的函数class NamesTestCase(unittest.TestCase):#创建一个unittest.TestCase子类'''测试name_functuion.py'''def test_first_last_name(self):'''测试是否能够正确处理像Janis Joplin这样的姓名'''formatted_name = get_formatted_name('janis','joplin')#调用要测试的函数,即创建实例self.assertEqual(formatted_name,'Janis Joplin')#通过断言对比实例和我想要得到的结果告诉我们此测试是否正常unittest.main()
#调用测试

结果:

如果测试未通过它会告诉你

最后一行告诉你程序里有几个问题

几种常用的断言方法:

只能在继承unittest.TestCase的类中使用这些方法

如果你想测试多个条件,你可能会要创建多个实例用来测试代码,这样会很麻烦。但是方法setUp()可以让你方便不少,可以再setup()中初始化一些你在后面可能用到的属性。

我们先创建一个问卷调查的类,然后通过setUp()创建多个对象对这个代码的多个功能进行测试,这样我们就不需要再测试函数里面再创建实例。

    '''收集匿名调查问卷的答案'''def _init_(self,question):'''存储一个问题,并为存储答案做准备'''self.question = questionself.responses = []def show_question(self):'''显示调查问卷'''print(question)def store_response(self,new_response):'''存储单份调查答卷'''self.responses.append(new_response)def show_results(self):'''显示所有答卷'''print('Survey results: ')for response in responses:print('-'+response)
from Survey import AnonymousSurveyclass TestAnoymousSurvey(unittest.TestCase):'''针对AnonymousSurvey类的测试'''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(self.responses[0],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)unittest.main()

在unittest.TestCase类中包含方法setUp(),你可以在setup()中创建多个对象,程序会在运行的时候首先运行它,再运行各个测试,这样子你可以直接调用setup里面定义的对象。

说实话,学完了对这个测试的掌握很不理想,懵懵懂懂很模糊的概念,不知道拿它干什么,也没有学到什么思想。感觉要针对的刷几道题。

学习python第八天(总算是把最最最最最基础的部分学的差不多啦,掌握一般般特别是后面,)相关推荐

  1. 系统学习Python——字符串(str):字符串格式化表达-[基础知识]

    分类目录:<系统学习Python>总目录 相关文章: · 字符串格式化表达:基础知识 · 字符串格式化表达:格式化表达式 · 字符串格式化表达:格式化方法 Python还提供了一种高级的方 ...

  2. 学习python的一些感受

    随着"佼哥"课程的结束,我们学习python的第一阶段算是结束了,这是我第一次写博客,不知道到以后会进行怎么样的学习. 首先说一下我的感受吧: 在第一节课说,python是一门面向 ...

  3. 学python要基础吗-无基础可以学习Python吗?

    对于大多数初学者来说,在学习Python 时都会感到压力繁重,因为毫无基础去学习这种跨品台的计算机程序设计语言,无疑是一种自我挑战.但是相比Java而言,学习Python快,对于急需找到工作的人来说是 ...

  4. 零基础学python pdf-笔记《零基础入门学习Python(第2版)》PDF+课件+代码分析

    通过自学编程,感觉到基础知识很重要,越到后面越能发现这一点,光记住是不行的,还要灵活运用,要多调试代码,计算机就是一个不断练习,不断遇到问题,解决问题的工种,要根据实际的业务能想到对应的语法,实际项目 ...

  5. 没有基础的人可以学python吗-无基础可以学习Python吗?

    对于大多数初学者来说,在学习Python 时都会感到压力繁重,因为毫无基础去学习这种跨品台的计算机程序设计语言,无疑是一种自我挑战.但是相比Java而言,学习Python快,对于急需找到工作的人来说是 ...

  6. 【鱼C·零基础入门学习Python】课后习题答案 第14课

    鉴于半导体制造业进入了瓶颈,处于找不到工作的深深忧虑,故最近开始学习Python.发现鱼C工作室的<零基础入门学习python>教程很不错,视频讲解生动,最主要的是他的课后练习很不错.以下 ...

  7. 学习python之——python入门

    目录 欢迎来到 Python 入门的学习之旅! 如果你是 Python 的新手,可以从下面的内容开始学习: 在学习 Python 的过程中,你可能会遇到一些概念和术语,这里简单介绍一下: 除了以上内容 ...

  8. 为SEO学习Python 分享7个技巧帮助你做数据分析工作

    作为一名SEO专业人士,我的日常任务也在不断学习.在去年年底开始学习Python之后,我发现自己越来越多地将我所学的东西付诸实践. 这包括相当简单的任务,例如比较字数或状态码随时间的变化,以及分析包括 ...

  9. 初学者快速学习Python编程语言指南

    Python是一种高级的解释型编程语言,广泛用于网络开发.数据分析.人工智能和科学计算. 它是一种多功能的语言,由于其简单而简明的语法,所以很容易学习.在这篇文章中,我们将提供一个关于如何从头开始学习 ...

最新文章

  1. Php使用selenium爬虫,selenium,python爬虫_使用selenium爬取网站时输出结果不正确,selenium,python爬虫 - phpStudy...
  2. 今天收到上海某公司的全英文笔试题(some question of interview )
  3. DELPHI第三方控件及组件大全(安装方法与使用)
  4. golang实现图片上传和下载
  5. Linux基金会宣布将为GraphQL成立基金会
  6. Sqlserver中char,nchar,varchar与Nvarchar的区别
  7. 【异或运算】 - 交换2个数
  8. linux脚本大全,shell大全
  9. Unity的Json解析二–写Json文件
  10. 男人30岁以前要作的事
  11. Verilog实现的格雷码与二进制码的互相转换
  12. SATA接口Raid、AHCI、IDE三种模式
  13. 【通俗理解】股票、基金、证券、债券、信托、期货、国债、外汇
  14. littlevgl教程 Linux,正点原子-手把手教你学LittlevGL
  15. epicor数据表增加字段
  16. 淘宝店铺图片轮播在线制作技巧
  17. 【WB32库开发】第13章(上)DMA直接存储器访问——存储器到存储器
  18. 20考研 | 2020考研全程规划,19上岸复旦学长。各科各阶段复习规划。
  19. 在哪自学python_怎么自学python,大概要多久?
  20. 阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?

热门文章

  1. 蓝桥杯同一类型题目汇总
  2. qiime1安装教程 for mac
  3. 达梦查询sql优化几种方式
  4. 计算机stem案例,一篇文章让你读懂STEM!
  5. 彩色图像与无色图像、消色差、图像的空间频率成分(chromatic information achromatic information、spatial frequency component)
  6. 【python黑帽子】——(一)搭建扫描器入门介绍
  7. [Halcon资料] 学习资料链接
  8. 图书管理开题报告php,基于PHP+SqlServer的图书管理系统,毕业论文设计,答辩ppt,开题报告,外文翻译,苹果,硕士研究生,iphone...
  9. 如何解决工厂工时计算问题
  10. Restlet restful 学习