Python 基础:使用 unittest 模块进行代码测试

遇到看不明白的地方,欢迎在评论中留言呐,一起讨论,一起进步!
在这里插入图片描述
本文参考:《Python编程:从入门到实践(第2版)》

一、测试函数

首先我们准备一个要测试的函数,这个函数在名和姓之间加上一个空格并将其首字母大写,再返回结果。

"""文件名:name_function"""
def get_formatted_name(first,last):
    """生成整洁的姓名。"""
    full_name = f"{
     
     first} {
     
     last}"
    return full_name.title()

我们再来编写一个使用该函数的程序:

from name_function import get_formatted_name

print("Enter 'q' at any time to quit.")
while True:
    first = input("\nPlease give me a first name:")
    if first == 'q':
        break
    last = input("Please give me a last name:")
    if last == 'q':
        break

    formatted_name = get_formatted_name(first,last)
    print(f"\tNeatly formatted name:{
     
     formatted_name}.")

运行结果如下:
在这里插入图片描述

Python 标准库中的模块 unittest 提供了代码测试工具。 单元测试用于核实函数的某个方面没有问题。这样一来我们就不用自己编写程序依次运行了。

测试用例是一组单元测试,它们用来核实函数在各种情形下的行为是否都符合要求。

要进行单元测试,可先导入模块 unittest要测试的函数,再创建一个继承 unittest.TestCase 的类,并编写一系列方法对函数行为的不同方面进行测试。

2.1 通过案例

下面的测试用例只包含一个方法,它检查函数 get_formatted_name() 在给定名和姓时能否正确工作:

import unittest
from name_function import get_formatted_name

class NamesTestCase(unittest.TestCase):
    """测试name_function.py。"""

    def test_first_last_name(self):
        """能够正确地处理像Janis Joplin这样的姓名吗?"""
        formatted_name = get_formatted_name('janis','joplin')
        self.assertEqual(formatted_name,'Janis Joplin')

if __name__ 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

诸葛思颖

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

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

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

打赏作者

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

抵扣说明:

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

余额充值