Python基础学习(已有Java基础)7——测试(最后一个基础文章)

本文详细介绍如何使用Python的unittest模块进行代码测试,包括测试类的构建、断言方法的选择及常见错误排查技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:对于Python.有个模块unittest可以引用个,用来对我们自己写的模块代码进行测试。
一.其中测试类必须有一下几个要点:
1.导入要测试的模块
2.导入unittest模块
3.测试类必须继承unittest.TestCase
4.选择断言方法
5.执行unittest.main
下面举个例子进行分析
模块代码hello.py

def get_formatted_name(first,last):
    full_name = first+' '+last
    return full_name

测试代码test.py

import unittest
from hello import get_formatted_name
class NamesTestCase(unittest.TestCase):
    def test_first_last_name(self):
        final_name = get_formatted_name('huang','gui')
        self.assertEqual(final_name,'huang gui')
unittest.main()

二.解析:
我们来看测试代码:
1.导入要测试的模块 : from hello import get_formatted_name
2.导入unittest模块: import unittest
3.测试类必须继承unittest.TestCase: class NamesTestCase(unittest.TestCase):
4.选择断言方法: assertEqual (判断对象是否一致)
5.执行unittest.main
对于测试类中,执行main的时候,所有以test_开头的方法都会自动运行
而对于如果测试不通过,报错中可以看出具体是哪些错误,到时进行修改。例如我们把测试代码改为

import unittest
from hello import get_formatted_name
class NamesTestCase(unittest.TestCase):
    def test_first_last_name(self):
        final_name = get_formatted_name('Huang','gu')
        self.assertEqual(final_name,'huang gui')
unittest.main()

结果不通过:

F
======================================================================
FAIL: test_first_last_name (__main__.NamesTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "E:/PythonWorkplace/venv/test.py", line 6, in test_first_last_name
    self.assertEqual(final_name,'huang gui')
AssertionError: 'Huang gu' != 'huang gui'
- Huang gu
? ^
+ huang gui
? ^       +


----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (failures=1)

我们就可以直接排错了
三.上面例子断言只是用了判断是否相同的方法,事实上还有很多。例如判断不同:assertNotEqual(a,b)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值