Python工程师之Python编程:从入门到实践【3.4】

11.2 测试类

在本章前半部分,你编写了针对单个函数的测试,下面来编写针对类的测试。很多
程序中都会用到类,因此证明你的类能够正确工作大有裨益。如果针对类的测试通
过了,你就能确信对类所做的改进没有意外地破坏其原有的行为。

11.2.1 各种断言方法

Python在unittest.TestCase 类中提供了很多断言方法。前面说过,断言方法检
查你认为应该满足的条件是否确实满足。如果该条件确实满足,你对程序行为的假
设就得到了确认,可以确信其中没有错误。如果你认为应该满足的条件实际上并不
满足,Python将引发异常。
表11-1描述了6个常用的断言方法。使用这些方法可核实返回的值等于或不等于预期
的值,返回的值为True 或False ,以及返回的值在列表中或不在列表中。只能在
继承unittest.TestCase 的类中使用这些方法,随后来看看如何在测试类时使用
其中之一。

11.2.2 一个要测试的类

类的测试与函数的测试相似,你所做的大部分工作是测试类中方法的行为。不过还
是存在一些不同之处,下面编写一个要测试的类。来看一个帮助管理匿名调查的
类:
survey.py
 

class AnonymousSurvey:
"""收集匿名调查问卷的答案。"""
❶ def __init__(self, question):
"""存储一个问题,并为存储答案做准备。"""
self.question = question
self.responses = []
❷ def show_question(self):
"""显示调查问卷。"""
print(self.question)
❸ def store_response(self, new_response):
"""存储单份调查答卷。"""
self.responses.append(new_response)
❹ def show_results(self):
"""显示收集到的所有答卷。"""
print("Survey results:")
for response in self.responses:
print(f"- {response}")

这个类首先存储了一个调查问题(见❶),并创建了一个空列表,用于存储答案。这
个类包含打印调查问题的方法(见❷),在答案列表中添加新答案的方法(见❸),
以及将存储在列表中的答案都打印出来的方法(见❹)。要创建该类的实例,只需提
供一个问题即可。有了表示调查的实例后,就可使用show_question() 来显示其
中的问题,使用store_response() 来存储答案并使用show_results() 来显
示调查结果。
为证明AnonymousSurvey 类能够正确工作,编写一个使用它的程序:
language_survey.py
 

from survey
  • 30
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值