前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >测试代码

测试代码

作者头像
狼啸风云
修改2022-09-04 22:11:27
1.2K0
修改2022-09-04 22:11:27
举报

编写函数或类时,还可为其编写测试。通过测试,可确定代码面对各种输入都能够按要求的那样工作。测试让你信心满满,深信即使有更多的人使用你的程序,它也能正确地工作。在程序中添加新代码时,你也可以对其进行测试,确认它们不会破坏程序既有的行为。程序员都会犯错,因此每个程序员都必须经常测试其代码,在用户发现问题前找出它们。使用Python模块unittest中的工具来测试代码,你将学习编写测试用例,核实一些列输入都将得到预期的输出。你将看到测试通过了是什么样子,测试未通过又是什么样子,还将知道测试未通过如何有助于改进代码。你将学习如何测试函数和类,并将知道应该为项目编写对少个测试。

单元测试和测试用例:

Python标准库中的模块unittest提供了代码测试工具。单元测试用于核实函数的某个方面没有问题;测试用例是一组单元测试,这些测试一起核实函数在各种情形下的行为都符合要求。良好的测试用例考虑到了函数可能收到的各种输入,包含针对所有这些情形的测试。全覆盖测试用例包含一整套单元测试,涵盖了各种可能的函数使用方式。对于大型项目,要实现全覆盖可能很难,通常,只要针对代码的重要行为编写测试即可,等项目被广泛使用时,再考虑全覆盖。

可通过的测试:

创建测试用例的语法需要一段时间才能习惯,但测试用例创建后,再添加针对函数的单元测试就很简单了。要为函数编写测试用例,可先导入模块unittest以及要测试的函数,再创建一个继承unittest。TestCase的类,并编写一些列方法对函数行为的不同方面进行测试。

断言方法用来核实得到的结果是否与期望的结果一致:

测试未通过时怎么办:测试未通过时怎么办呢?如果你检查的条件没错,测试不通过意味着函数的行为是对的,而测试未通过意味着你编写的新代码有错。因此,测试未通过时,不要修改测试,而应修改导致测试不能通过的代码;检查刚对函数的修改,找出导致函数行为不符合预期的修改。

测试类:

Python在unittest.Testlase类中提供了很多断言方法。断言方法检查你认为应该满足的条件是否确实满足。如果该条件确实满足,你对程序行为的假设就得到了确认,你就可以确信其中没有错误。如果你认为应该满足的条件并不满足,Python将发生异常。

    unittest

    assertEqual( a , b )   核实a==b

    assertNotEqual( a , b )  核实a!=b

    assertTure(x)  核实x为Ture

    assertFalse(x)   核实x为False

    assertIn(item,list)   核实item在list中

    assertNotIn(item,list)   核实item不在list中

    测试自己编写的类时,方法setup()让测试方法编写起来更容易:可在setup( )方法中创建一系列实例,并设置他们的属性,而在测试方法中直接使用这些实例。相比于在每个实例并设置其属性,这要容易得多。

注意:运行测试用例时,每完成一个单元测试。

Python都打印一个字符:测试通过时打印一个句点;测试引发错误时打印一个E;测试导致断言失败时打印一个F。

这就是你运行测试用例时,在输出的第一行中看到的句点和字符,数量不相同的原因。如果测试用例包含很多单元测试,需要运行很长时间,就可以通过观察这些结果来获悉有多少个测试通过了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年11月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 单元测试和测试用例:
  • 可通过的测试:
  • 断言方法用来核实得到的结果是否与期望的结果一致:
  • 测试类:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档