Python学习----第十一章--测试代码

1.测试函数

下面是一个简单函数,它接收名和姓,然后返回一个整洁的姓名name_fuction.py:

#name_fuction.py          获取姓和名返回整洁的姓名:
def get_name(first,last):
    full_name=first+' '+last
    return full_name.title()

对上述代码进行测试,names.py:(这其实和编写的代码没差别,说是测试不过就像之前那样是用了一下它而已)

form name_fuction import get_name           #导入需要测试的函数
while True:
    first = input("请输入姓:")
    last  = imput("请输入名:")
    formatted_name = get_name(first,last)
    print("您的姓名为:"+formatted_name)
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
请输入姓:blessing
请输入名:lee
您的姓名为:Blessing Lee

下面才像点测试的样子:test_name_fuction.py

#运行test_name_function.py时里面的test_开头的方法都会自动运行
import unittest                      #导入unittest
from name_function import get_name   #导入要测试的函数get_name
calss NamesTestCase(unittest.TestCase):   #创建一个测试类,继承unittest.TestCase
    """测试name_fuction.py"""
    def test_first_last_name(self):       #编写测试函数(举一反三,可以编写多个不同的测试函数)
        formatted_name = get_name('blessing','lee')    #调用get_name()并将返回值结果存储到formatted_name中
        self.asserEqual(formatted_name,'Blessing Lee') #unittest中一个断言asserEqual,核实得到的结果是否等于后面的'Blessing Lee'
unittest.main()        #让Python运行这个文件中的测试

#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.                      #一个点表示有一个测试用例通过了
------------------------------------------------------
Ran 1 test in 0.000s   #Python运行一个测试用例花的时间不到0.001秒

ok                     #表示测试通过ok

2.断言方法

Python在unittest.TestCase类中提供了很多断言方法。断言方法检查你认为应该满足的条件是否满足。

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

unittest 中断言方法
方法用途
assertEqual(a,b)核实 a == b
assertNotEqual(a,b)核实 a != b
assertTrue(x)核实 x 为True
assertFalse(x)核实 x 为 False
assertIn(item,list)核实 item 在list中
assertNotIn(item,list)核实 item 不在list中

 

3.方法setUp()

如果你在unittest.TestCase类中包含方法setUp(),Python将先运行它,再运行各个以test_开头的方法。所以可以使用setUp()来创建调查对象和答案让测试中的方法使用,这样在测试方法中就不必再重复的创建调查对象和答案。

 

 

4.因为没有什么实际可以测试的案例,暂时写这些,以后有经验了再来完善

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值